【发布时间】:2023-03-26 02:15:01
【问题描述】:
我有一个存储过程,它在其中创建了一个临时表。此表有几列,其中一列只能有五个不同的值,具体取决于某些条件。
myID | ... | myValues
- - - |- - -|- - - - - - -
1 | ... | Message 1
2 | ... | Message 2
3 | ... | Message 3
4 | ... | Message 4
5 | ... | Message 5
6 | ... | Message 2
7 | ... | Message 4
现在我有另一个存储过程,它读取这个表并返回每条消息在表上显示的次数。
SELECT myValues, COUNT(*) AS Nr
FROM #temp_table
GROUP BY myValues
Output:
myValues | Nr
- - - - - -|- - -
Message 1 | 1
Message 2 | 2
Message 3 | 1
Message 4 | 2
Message 5 | 1
问题是当我没有任何这些消息时。我的查询只会计算表中的项目,但我希望它们以零值存在。
myID | ... | myValues
- - - |- - -|- - - - - - -
1 | ... | Message 1
2 | ... | Message 3
3 | ... | Message 3
--# WANTED OUTPUT #--
myValues | Nr
- - - - - -|- - -
Message 1 | 1
Message 2 | 0
Message 3 | 2
Message 4 | 0
Message 5 | 0
我尝试使用连接,并且正在考虑创建另一个表,但我不知道如何使其工作。
【问题讨论】:
标签: sql sql-server select stored-procedures count