sql问题中有多个COUNT

111*_*110 2 sql t-sql sql-server

我有一点连线问题.
我必须从查询喜欢和收集中选择两个计数但是当我添加第二个查询而不是2 likes and 10 collects我得到10 likes and 10 collects.
我在这做错了什么?

select  COUNT(tl.ItemLikeId) as a, COUNT(tib.PacketId) as b
from Items i
left join ItemLikes il
on il.ItemId = i.ItemId
left join ItemsInPackets iip
on iip.ItemId = i.ItemId
where i.ItemId = 14591
Run Code Online (Sandbox Code Playgroud)

zim*_*nen 6

试试SELECT COUNT(DISTINCT tl.ItemLikeId) AS a, COUNT(DISTINCT tib.PacketId) as b.

您的连接为您提供十行,因此每个表中有十个ID.但是,并非所有ID都是唯一的.您正在寻找唯一的ID.