SQL SERVER中纵向的数据横向显示出来

selectc.ContractCodeas合同编号,d.ProjNameas项目名称,b.UsedAmountas使用金额fromcb_BudgetUsealeftjo... select
c.ContractCode as 合同编号 ,
d.ProjName as 项目名称,
b.UsedAmount as 使用金额
from cb_BudgetUse a

left join cb_Budget b on b.BudgetGUID=a.BudgetGUID
left join cb_Contract c on c.ContractGUID=a.ContractGUID
left join p_Project d on d.ProjGUID=b.ProjectGUID

where c.projtype ='多项目' and CfTypeName = '签约金额' and c.BUGUID='10B22C6E-3D69-E311-805B-6EAE8B3B49A1'

ORDER BY CostCode

想要实现横向显示项目名称和对应的使用金额
展开
 我来答
射手幽灵伊
2015-09-18 · TA获得超过2716个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1957万
展开全部

使用case when 或是 pivot进行处理。

下面是示例,具体的值你根据实际改一下。

select 
c.ContractCode as 合同编号 ,
sum(case when d.ProjName = '海峡一期' then b.UsedAmount else 0 end) as [海峡一期],
sum(case when d.ProjName = '海峡二期' then b.UsedAmount else 0 end) as [海峡二期],
sum(case when d.ProjName = '海峡三期' then b.UsedAmount else 0 end) as [海峡三期],
from cb_BudgetUse a
left join cb_Budget b on b.BudgetGUID=a.BudgetGUID
left join cb_Contract c on c.ContractGUID=a.ContractGUID
left join  p_Project d on d.ProjGUID=b.ProjectGUID
where  c.projtype ='多项目' and  CfTypeName = '签约金额' and c.BUGUID='10B22C6E-3D69-E311-805B-6EAE8B3B49A1'
ORDER BY CostCode
追问

为啥查询结果出来都是0.00啊

追答
你把语句贴出来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式