gpt4 book ai didi

sql - 选择语句返回0,如果为空

转载 作者:行者123 更新时间:2023-12-04 21:36:44 25 4
gpt4 key购买 nike

我有以下查询

SELECT ProgramDate, [CountVal]= COUNT(ProgramDate) 
FROM ProgramsTbl
WHERE (Type = 'Type1' AND ProgramDate = '10/18/11' )
GROUP BY ProgramDate


发生的事情是,如果没有与Type和ProgramDate匹配的记录,则不会返回任何记录。

如果没有返回值,那么我上面希望输出的内容类似于以下内容。请注意,即使没有返回匹配条件的记录,CountVal如何也为0:

ProgramDate    CountVal
10/18/11 0

最佳答案

这比您想要的要复杂一些,但是这是很有可能的。您首先必须创建一个临时日期表。例如,下面的查询创建的日期范围是2011-10-11至2011-10-20

CREATE TEMPORARY TABLE date_stamps AS
SELECT (date '2011-10-10' + new_number) AS date_stamp
FROM generate_series(1, 10) AS new_number;


使用此临时表,您可以从中选择并离开表ProgramsTbl。例如

SELECT date_stamp,COUNT(ProgramDate) 
FROM date_stamps
LEFT JOIN ProgramsTbl ON ProgramsTbl.ProgramDate = date_stamps.date_stamp
WHERE Type = 'Type1'
GROUP BY ProgramDate;

关于sql - 选择语句返回0,如果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7822940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com