2016-07-11 4 views
0

これは私のコードです:分割カラムは条件付きで私は条件が真または偽の場合に基づいて、列を分割し、各医師</p> <p>のために、各カテゴリの患者の数をカウントしたい

SELECT p.MRP_CP_ID, COUNT(p.PTNT_ID) FROM PATIENT p 
JOIN PATIENT_SCHEDULE ps ON ps.PTNT_ID = p.PTNT_ID 
WHERE ps.MLTPL_PHRM_FLG = 0 
GROUP BY MRP_CP_ID; 

しかし、私はMLTPL_PHRM_FLGが1である患者の数を別の列に表示したい。これを行う簡単な方法はありますか?

​​

+0

代表的なテストデータセットと望ましい結果を提供してください。 –

答えて

0

これは、条件集合を用いて行うことができます。

SELECT p.MRP_CP_ID, 
COUNT(*) Total, 
COUNT(CASE WHEN ps.MLTPL_PHRM_FLG = 0 then 1 END) as PHRM_FLG_0_Counts, 
COUNT(CASE WHEN ps.MLTPL_PHRM_FLG = 1 then 1 END) as PHRM_FLG_1_Counts 
FROM PATIENT p 
JOIN PATIENT_SCHEDULE ps ON ps.PTNT_ID = p.PTNT_ID 
GROUP BY MRP_CP_ID; 
関連する問題