【问题标题】:How to convert row data into column?如何将行数据转换为列?
【发布时间】:2011-10-04 04:33:14
【问题描述】:

我的查询是

select distinct b.Emp_Name,a.emp_id,a.date,a.status,b.Emp_F_H,b.Emp_Gender,b.Emp_DOJ,c.Dept_Disc
from dbo.Attendance_Details a
inner join dbo.Employee_Master b on a.emp_id=b.emp_id
inner join dbo.Department_Details c
  on b.Dept_Id=c.dept_id 
    and a.Fromdate='2011-09-01 00:00:00.000'
    and a.todate='2011-09-30 00:00:00.000'
order by b.emp_name

我想要像这样的输出

emp_name emp_id  emp_f_h doj      emp_gender  dept 1 2 3 4 5..upto 31 column for status 
kamal    emp_1  b.singh  1/1/2011  male      hr   p A P P P...upto 31
ramesh emp_2  singh  1/1/2011  male          Fc   p A P P P...upto 31....

那么我如何动态生成 31 列对于单个 emp id 到状态列请帮助我

【问题讨论】:

  • 搜索 PIVOT

标签: sql sql-server sql-server-2005 tsql


【解决方案1】:

试试这篇文章

Crosstab 数据透视表工作台

http://www.simple-talk.com/sql/t-sql-programming/crosstab-pivot-table-workbench/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多