|
假定某场比赛结果如下:
排名次序 | 排名得分 | 实际名次 | 1 | 8 | 1 | 2 | 7 | 1 | 3 | 6 | 1 | 4 | 5 | 4 | 5 | 4 | 5 | 6 | 3 | 6 | 7 | 2 | 7 | 8 | 1 | 7 |
先做一个过渡查询1:
SELECT 表1.[实际名次], First(表1.[排名得分]) AS 得分之First, Count(表1.[实际名次]) AS 名次之Count
FROM 表1
GROUP BY 表1.[实际名次];
再用这个查询2就可以:
SELECT 表1.[实际名次], IIf([名次之Count]=1,[得分之First],iif([名次之Count]=2,[得分之First]-0.5,iif([名次之Count]=3,[得分之First]-1,iif([名次之Count]=4,[得分之First]-1.5,iif([名次之Count]=5,[得分之First]-2,iif([名次之Count]=6,[得分之First]-2.5,iif([名次之Count]=7,[得分之First]-3,[得分之First]-3.5))))))) AS 实际得分
FROM 表1 INNER JOIN 查询1 ON 表1.[实际名次]=查询1.[实际名次];
[ 本帖最后由 sgrshh29 于 2007-8-9 10:32 编辑 ] |
|