0
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

助けてください。ありがとう

4

2 に答える 2