【发布时间】:2015-01-24 02:18:12
【问题描述】:
我正在使用 Access(我通常使用 SQL Server)来完成一项小工作,并且我在下面的语句中获得了 Night.NightId 的“输入参数值”,该语句在子查询中有一个子查询。如果我不将它嵌套两层深,我希望它会起作用,但我想不出办法解决它(欢迎查询想法)。
场景非常简单,有一个Night 表与Score 表具有一对多关系——通常每个晚上都有10 个分数。每个分数都有一个位字段IsDouble,其中两个分数通常为true。
我想列出所有的夜晚,每个夜晚旁边都有一个数字,表示前 2 名中有多少被标记为IsDouble(可能是 0、1 或 2)。
这是 SQL,我已经尝试了许多为列和表添加别名的组合,但为了简单起见,我在下面将它们取出:
select Night.*
,
( select sum(IIF(IsDouble,1,0)) from
(SELECT top 2 * from Score where NightId=Night.NightId order by Score desc, IsDouble asc, ID)
) as TopTwoMarkedAsDoubles
from Night
【问题讨论】:
标签: sql ms-access correlated-subquery