我需要写一个SQL查询,它可以获取数据,并可以导出为XL工作表。
场景
有两个表A和B。B是A的子表,有一对多的关系(意味着B可以有多个A的子表)。现在B有一列C,它只能有两个值1或2。
要求
我需要在报告中显示-对于表A的每条记录,计数为“表B列C中值为1的子记录的数目”,计数为“表B的列C中值为2的子记录的数目”,计数为“C列中的子记录总数”。
发布于 2011-02-18 05:46:00
可能是这样的:
select A.PK,
sum(case when B.C = 1 then 1 else 0 end) as TotalC1,
sum(case when B.C = 2 then 1 else 0 end) as TotalC2,
count(B.C) as TotalChildren
from A
inner join B
on A.PK = B.FK_to_A
group by A.PK发布于 2011-02-18 05:47:53
select
A.PK,
sum(case when B.C = 1 then 1 else 0 end) as CountOf1,
sum(case when B.C = 2 then 1 else 0 end) as CountOf2,
count(B.C) as TotalCount
from
A
inner join
B on A.FK = B.PK
group by
A.PKhttps://stackoverflow.com/questions/5035028
复制相似问题