在SQL的count(*)函数中包含0

Rah*_*kta 2 sql oracle decode count

我正在使用此命令获取状态:

SELECT  DECODE(processed,1,'Complete', 'Incomplete') Last_Day_Report_Status,       
        COUNT(*) 
FROM Table_demo 
WHERE run_datetime >= trunc(sysdate)-1
  AND run_datetime < trunc(sysdate)
GROUP BY DECODE(processed,1,'Complete','Incomplete');
Run Code Online (Sandbox Code Playgroud)

它应该输出如下:

完成:120

不完整:0

但它只给予:完成:120

Jua*_*eza 5

WITH parameter as (
     SELECT 'Complete' as status FROM DUAL
     UNION ALL
     SELECT 'Incomplete' as status FROM DUAL
)
SELECT  parameter.status as  Last_Day_Report_Status,       
        COUNT(status) 
FROM parameter 
LEFT JOIN Table_demo 
  ON parameter.status = DECODE(status ,1,'Complete', 'Incomplete')
WHERE run_datetime >= trunc(sysdate)-1
  AND run_datetime < trunc(sysdate)
GROUP BY parameter.status;
Run Code Online (Sandbox Code Playgroud)