使用支点SQL查询(using Pivot in SQL Query)

2019-10-30 01:07发布

我有以下表结构也有我提到我的预期输出,请帮我查询按我刚才的问题

获取计数使用组由SQL多个字段

我得到的输出使用下面的查询如下

select data.category, cl.combovalue as esilocation, cd.combovalue as esidispensary,
    year(date) as year, month(date) as month,
    sum(data.joins) as [Joining Count], sum(data.terms) as [Termination Count]
from (
    select category, esilocation, esidispensary, dateofjoining as date,
           1 as joins, 0 as terms
    from dbo.employeedetail
    where dateofjoining is not null
    union all
    select category, esilocation, esidispensary, terminationdate as date,
           0 as joins, 1 as terms
    from dbo.employeedetail
    where terminationdate is not null
) data
left join dbo.combovalues cl on cl.id = data.esilocation
left join dbo.combovalues cd on cd.id = data.esidispensary
where category in ( 1, 2 ) 
and date >= '2014-01-01' 
and date <= '2014-12-31'
group by data.category, cl.combovalue, cd.combovalue, year(date), month(date)

查询输出:

category    esilocation esidispensary   year    month   Joining Count   Termination Count
1                mumbai     mumbai       2014    8          1             0
1                mumbai     mumbai       2014    11         0             1
1                pune       mumbai       2014    6          1             0
1                pune       mumbai       2014    8          1             1
2                pune       mumbai       2014    10         1             0
2                pune       mumbai       2014    11         0             1
2                pune       pune         2014    9          2             0
2                pune       pune         2014    11         0             2

但问题是,我想这上面的表格,即枢纽

预计输出

 category   esilocation esidispensary   8/2014 join   8/2014 term   11/2014 join   11/2014 term    
   1        mumbai        mumbai             1             0            0             1
   1        pune          mumbai             1             1            null          null
   2        pune          mumbai            null           null         0             1
   2        pune          pune              null           null         0             2
文章来源: using Pivot in SQL Query