select distinct
Patient_Ref_master.Dept_ID as 'dept',
Patient_Ref_master.Male_femal as 'Gender',
count(Patient_Ref_master.Pat_ID) as 'count'
from
Patient_Ref_master
left join
Patient_Master on Patient_Master.Pat_Code=Patient_Ref_master.Pat_ID
where
(Patient_Ref_master.Age > 16
and dbo.Patient_Master.Pat_Sex = 2
and Patient_Ref_master.creation_Date = '2013/08/02')
or
(Patient_Ref_master.Age > 16
and dbo.Patient_Master.Pat_Sex = 1
and Patient_Ref_master.creation_Date = '2013/08/02')
or
(Patient_Ref_master.Age >= 0
and Patient_Ref_master.Age <= 16
and dbo.Patient_Master.Pat_Sex = 2
and Patient_Ref_master.creation_Date = '2013/08/02')
or
(Patient_Ref_master.Age >= 0
and Patient_Ref_master.Age <= 16
and dbo.Patient_Master.Pat_Sex = 1
and Patient_Ref_master.creation_Date = '2013/08/02')
group by
Patient_Ref_master.Male_femal, Patient_Ref_master.Dept_ID
上記は、次のようなテーブルを返すクエリです
Dept Gender Count
102 Females 3
102 Males 4
103 Boys 2
103 Females 2
103 Girls 1
103 Males 1
104 Females 6
104 Males 1
ここでは、部門ごとに男性、女性、女の子、男の子の数を取得しています。しかし、出力を次のように表示したい
Dept Males Females Boys Girls
102 3 2 5 5
103 4 5 2 6
104 2 1 1 5
これは部門ごとの男の子、女の子、男性、女性の数です。上記のパターンのようなものを取得するにはどうすればよいですか? Pivot
それを行うオプションはありますか?私は一度も使用したことがありませんPivot
。
助けてください。ありがとう