SQL我想把一列数据转成一个中行,大神来啊
我现在取出的数据是
但是我想实现的是
怎么能把ProjectName列转成 我要的样子。

但是我想实现的是

怎么能把ProjectName列转成 我要的样子。
select b.deptname,d.Bm,d.StaffName,f.ProjectName,
sum(case when a.Sex=0 then PeopleNo else 0 end ) Mensex,
sum(case when a.Sex=0 then 0 else PeopleNo end )Womensex,
sum(PeopleNo) Sumrs,
sum(case when a.Sex=0 then c.Price*c.qrn else 0 end ) MenPrice,
sum(case when a.Sex=0 then 0 else c.Price*c.qrn end ) WoMenPrice,
sum(c.Price*c.qrn) SumPrice,
sum(case when a.PayType=2 then c.Price*c.qrn else 0 end )+sum(case when a.PayType=4 then c.Price*c.qrn else 0 end ) cash,
sum(c.Price*c.qrn)-sum(case when a.PayType=2 then c.Price*c.qrn else 0 end )-sum(case when a.PayType=4 then c.Price*c.qrn else 0 end ) Kh,
sum(case when a.designated=0 then 0 else PeopleNo end ) PNumbers,
sum(case when a.designated=0 then 0 else c.Price*c.qrn end ) PPrice,
sum(case when a.designated=0 then PeopleNo else 0 end ) fPNumbers,
sum(case when a.designated=0 then c.Price*c.qrn else 0 end ) fPPrice,
cast(sum(c.Price*c.qrn)/sum(PeopleNo) as numeric(18,2)) kdj
from OrderReservation a
left join basDept b on a.deptno=b.deptno
left join dbo.OrderReservationD c on a.OrderNo=c.OrderNo
left join dbo.basStaff d on c.staffno=d.staffno
left join dbo.basProject e on c.ProjectNo=e.ProjectNo
left join dbo.basProject f on e.ParentNo=f.ProjectNo
where a.deptno='010101'
group by b.deptname,d.Bm,d.StaffName,f.ProjectNo,f.ProjectName
order by f.ProjectNo
...全文
相关推荐
SQL合并一列
### SQL合并一列知识点详解在SQL查询语言中,“SQL合并一列”通常指的是通过某种方式将多个行中的数据合并到同一列中的技术。
SQL 将一列拆分成多列的三种方法
"SQL 将一列拆分成多列的三种方法"在SQL数据库操作中,有时我们需要将一列中的数据拆分到多列中,以便于数据分析或处理。这里介绍三种不同的方法来实现这一需求,针对给定的示例,假设我们有一个名为
sql server 中行转列
### SQL Server 中行转列知识点解析#### 一、标题:SQL Server 中行转列在 SQL Server 中,“行转列”(Pivot)是一种常用的数据处理方式,它能够将表格中的行数据转换为列数据
将SQL数据表的一列转换为一行.docx
我们使用 `toBind` 表来存储源表的一列数据,然后使用 `RC` 表来存储转换后的数据。知识点3:使用动态 SQL 语句实现数据转换在存储过程中,我们使用动态 SQL 语句来实现数据转换。
sql server 2008 将一列值转换成一个字符串
在SQL Server 2008中,将一列值转换为一个字符串是一个常见的需求,特别是在进行数据汇总或生成报告时。


应用实例
