【发布时间】:2010-12-01 01:06:25
【问题描述】:
我使用的是 MS SQL 2008,我有一个状态表(id、name)和一个项目表(id、name、statusid、deleted)。
我想统计每个状态的物品数量,有如下查询:
SELECT status.id,
ISNULL(COUNT (items.name), 0) AS 'count'
FROM status
LEFT OUTER JOIN items
ON items.statusid = status.id
GROUP BY status.id
复杂之处在于我想获取所有状态,如果状态没有项目,则为 0。
上面的方法很好,但是当我添加 WHERE items.deleted = 0 时,它不再显示其中包含 0 的行。
为什么WHERE 子句会终止我的查询?我怀疑我的方法可能是错误的......
谢谢:)
【问题讨论】:
标签: sql sql-server-2005 count group-by