Ari*_*ian 4 sql sql-server-2008
考虑这些表:
Table Items:
ItemID ItemName
------------------
1 N1
2 N2
3 N4
4 N5
Run Code Online (Sandbox Code Playgroud)
在MyTbl表中,我有一个ItemID,可能是这样的:
ItemId
----
1
1
3
4
4
4
Run Code Online (Sandbox Code Playgroud)
我想写一个返回此结果的查询:
ItemId count
-------------------
1 2
2 0
3 1
4 3
Run Code Online (Sandbox Code Playgroud)
如果没有游标我怎么能这样做?
您可以从中选择每个项目Items,并LEFT JOIN MyTbl在共同的ItemID,计数的匹配;
select
Items.itemId,
count(MyTbl.itemId) as count
from Items
left join MyTbl on (MyTbl.ItemID = Items.ItemID)
group by Items.itemId
order by Items.itemId
Run Code Online (Sandbox Code Playgroud)