使用分组依据查询是否可以显示空行?
假设我的表格具有[PlaceID]和[Times]。
PlaceID I Times
--------I-------
1 I 2
3 I 1
1 I 1
3 I 2
3 I 4
1 I 2
如果执行以下SQL,则[PlaceID]将不可见,因为没有数据。
SELECT PlaceID, Sum(Times) As SumTimes
FROM tblOrder
GROUP BY PlaceID;
PlaceID I SumTimes
--------I-------
1 I 5
3 I 7
是否可以强制使用并获得此输出
PlaceID I SumTimes
--------I-------
1 I 5
2 I 0
3 I 7
答案 0 :(得分:2)
您需要一个地点清单。 。 。我猜想是在places
表中。
然后:
select p.placeId, nz(sum(times), 0)
from places as p left join
tblOrder as o
on p.placeId = o.placeId
group by p.placeId;
如果地点超过三个,则可以添加where p.placeId in (1, 2, 3)
。