三个SQL语句查询的结果怎么合成一行

睡一觉什么都有 2019-01-16 03:22:30
select dj.yuanGongId,sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where peiJianId is null and jieSuanId=2 group by dj.yuanGongId

select dj.yuanGongId,sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where fuWuId is null and jieSuanId=2 group by dj.yuanGongId

select dj.yuanGongId,sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where jieSuanId=2 group by dj.yuanGongId

这是结果
...全文
293 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38820224 2019-01-16
  • 打赏
  • 举报
回复
用left join select A.*,B.col3 from( select a.*,b.col2 from( select dj.yuanGongId,sum(zongJinE-youHuiJinE) as col1 from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where peiJianId is null and jieSuanId=2 group by dj.yuanGongId ) as a left join ( select dj.yuanGongId,sum(zongJinE-youHuiJinE) as col2 from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where fuWuId is null and jieSuanId=2 group by dj.yuanGongId ) as b on a.dj.yuanGongId = b.dj.yuanGongId ) as A left join ( select dj.yuanGongId,sum(zongJinE-youHuiJinE) as col3 from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where jieSuanId=2 group by dj.yuanGongId ) as B on A.dj.yuanGongId = B.dj.yuanGongId
  • 打赏
  • 举报
回复
引用 3 楼 唐诗三百首 的回复:

with t1 as
(select dj.yuanGongId,col1=sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
 inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where peiJianId is null and jieSuanId=2 group by dj.yuanGongId),
t2 as
(select dj.yuanGongId,col2=sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId 
 inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where fuWuId is null and jieSuanId=2 group by dj.yuanGongId),
t3 as
(select dj.yuanGongId,col3=sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId 
 inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where jieSuanId=2 group by dj.yuanGongId)
select t1.yuanGongId, t1.col1,t2.col2,t3.col3
 from t1 
 inner join t2 on t1.yuanGongId=t2.yuanGongId
 inner join t3 on t1.yuanGongId=t3.yuanGongId
非常感谢,能大概描述一下什么意思吗?
唐诗三百首 2019-01-16
  • 打赏
  • 举报
回复

with t1 as
(select dj.yuanGongId,col1=sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where peiJianId is null and jieSuanId=2 group by dj.yuanGongId),
t2 as
(select dj.yuanGongId,col2=sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where fuWuId is null and jieSuanId=2 group by dj.yuanGongId),
t3 as
(select dj.yuanGongId,col3=sum(zongJinE-youHuiJinE) from danJu dj inner join yuanGong yg on dj.yuanGongId=yg.yuanGongId
inner join peiJianMoney pjm on pjm.danJuId=dj.danJuId where jieSuanId=2 group by dj.yuanGongId)
select t1.yuanGongId, t1.col1,t2.col2,t3.col3
from t1
inner join t2 on t1.yuanGongId=t2.yuanGongId
inner join t3 on t1.yuanGongId=t3.yuanGongId
  • 打赏
  • 举报
回复
具体是 yuanGongId (无列名) 1 119700.00 60600.00 180300.00 2 500.00 1500.00 2000.00
唐诗三百首 2019-01-16
  • 打赏
  • 举报
回复
请问"三个查询结果合成一行"的希望结果具体是指怎样的? 请明确告知.

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧