在SQL查询中使用Pivot
我有下面的表结构,我也提到了我的预期输出,请帮助我查询 根据我先前的问题 我使用下面的查询得到如下输出在SQL查询中使用Pivot,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有下面的表结构,我也提到了我的预期输出,请帮助我查询 根据我先前的问题 我使用下面的查询得到如下输出 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 [Termina
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 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
需要表格的样本数据。您可以在sqlfiddle上创建它。sql2008中有一个pivot关键字。
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