1,216
社区成员
发帖
与我相关
我的任务
分享
//ACCESS
select c.a,c.b1,iif(isnull(c.b2),0,c.b2) as b2,d.b3 from
(select a.a,a.b1,b.b2 from
((select a,count(b) as b1 from qq where b='1' group by a) a
left join
(select a,count(b) as b2 from qq where b='2' group by a) b on a.a=b.a)) c
left join
(select a,count(b) as b3 from qq where b='3' group by a) d on c.a=d.a
//SQL SERVER
SELECT c.a, c.b1, ISNULL(c.b2, 0) AS b2, d.b3
FROM (SELECT a.a, a.b1, b.b2
FROM ((SELECT a, COUNT(b) AS b1
FROM qq
WHERE b = '1'
GROUP BY a) a LEFT JOIN
(SELECT a, COUNT(b) AS b2
FROM qq
WHERE b = '2'
GROUP BY a) b ON a.a = b.a)) c LEFT OUTER JOIN
(SELECT a, COUNT(b) AS b3
FROM qq
WHERE b = '3'
GROUP BY a) d ON c.a = d.a