Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL查询中使用Pivot_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

在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