0
我想創建一個查詢給我一個同一列的計數,但有3個不同的列顯示基於不同where子句的結果。下面UNION ALL給我的結果,但將所有3個結果中的一列,而不是3分不同的列需要在同一列多次使用不同的where子句在每個結果上聚合函數
(SELECT DISTINCT COUNT(dm.pat_id) AS Compliant, dep.department_name
FROM diab dm
INNER JOIN table_ser_2 ser2 ON dm.cur_pcp_prov_id = ser2.prov_id
INNER JOIN table_dep dep ON ser2.primary_dept_id = dep.department_id
WHERE diab.hba1c_last <='9'
GROUP BY dep.DEPARTMENT_NAME)
UNION ALL
(SELECT DISTINCT COUNT (dm2.pat_id) AS TotalDiabetics, dep.department_name
FROM dm_diab dm2
INNER JOIN table_ser_2 ser2 ON dm2.cur_pcp_prov_id = ser2.prov_id
INNER JOIN table_dep dep ON ser2.primary_dept_id = dep.department_id
WHERE dm2.hba1c_last IS NOT NULL
GROUP BY dep.department_name)
UNION ALL
(SELECT DISTINCT COUNT (dm3.pat_id) AS TotalMissing, dep.department_name
FROM dm_diab dm3
INNER JOIN table_ser_2 ser2 ON dm3.cur_pcp_prov_id = ser2.prov_id
INNER JOIN table_dep dep ON ser2.primary_dept_id = dep.department_id
WHERE dm3.hba1c_last IS NULL
GROUP BY dep.department_name)
ORDER BY dep.DEPARTMENT_NAME
的[集合函數Where子句條件(可能的複製http://stackoverflow.com/ question/4662955/where-clause-condition-on-aggregate-functions) –
'group by'後的'distinct'? –