【发布时间】:2018-10-29 16:54:36
【问题描述】:
我有这个代码
select
count(cat_item_tb.item_id),
count(t.item_id)
from
cat_tb
inner join
item_tb on cat_tb.cat_id = item_tb.cat_id
inner join
cat_item_tb on item_tb.item_id = cat_item_tb.item_id and t.ss = 0
inner join
cat_item_tb t on item_tb.item_id = t.item_id and t.ss = 1
我只需要返回没有重复的值。在过去的代码中,每次计数都必须返回 7,但它返回 49,这两个 count() 相互影响。我使用 distinct 但它没有返回正确的计数,因为表中有 (item_id) 不止一次
非常感谢
【问题讨论】:
-
样本和期望的结果会很有帮助。
-
当连接的两侧有多个具有相同值的行时,这是预期的。所以这是你的数据而不是查询。
-
请注意 7 * 7 = 49 ;-)
标签: sql sql-server count