急!!怎样用select汇总到以下效果图~万分感谢@!!!!

裸奔王子 2017-11-03 03:20:50
...全文
388 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
日月路明 2017-11-03
  • 打赏
  • 举报
回复
来晚了,我一般这样写:
select 供应商,金额=sum(JFJe-DFJe)
from (select 供应商,JFJe=总金额,DFJe=退货金额 from tablea
      union all
      select 应商,JFJe=欠款金额,DFJe=0 from TableB
      )  as t
group by 供应商
裸奔王子 2017-11-03
  • 打赏
  • 举报
回复
引用 6 楼 z10843087 的回复:
你直接点结帖,然后在3楼那里给分就可以
1楼你的也行,刚才跑了一下,非常感谢@@!你也75分吧,150分就平分了~~~感谢你们@!!
RINK_1 2017-11-03
  • 打赏
  • 举报
回复
引用 4 楼 yangyihao90 的回复:
忘了,A表,B表都是SQL表,里面的 供应商,类别,总金额,退货金额,欠款金额,总欠金额 都是 字段),AB表都有数据了,想得到C表这样的效果
没理解你的意思。#1和#3不就是在数据表已有数据的基础上写的查询语句吗。但是你说A或者B表里有“总欠金额”字段,那你最终是要查询呢,还是把查询的结果来更新本身的“总欠金额”字段呢。
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
你直接点结帖,然后在3楼那里给分就可以
裸奔王子 2017-11-03
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
--测试数据
if not object_id(N'Tempdb..#A') is null
	drop table #A
Go
Create table #A([供应商] nvarchar(22),[类别] nvarchar(22),[总金额] int,[退货金额] int)
Insert #A
select N'AA',N'内衣',200,0 union all
select N'AA',N'内裤',300,100 union all
select N'BB',N'袜子',500,200 union all
select N'BB',N'秋衣',600,400
GO
if not object_id(N'Tempdb..#B') is null
	drop table #B
Go
Create table #B([供应商] nvarchar(22),[欠款金额] int)
Insert #B
select N'AA',400 union all
select N'AA',100 union all
select N'BB',0 union all
select N'BB',500
Go
--测试数据结束
SELECT  t1.供应商 ,
        t1.金额 + t2.金额 AS 总欠金额
FROM    ( SELECT    供应商 ,
                    SUM(总金额 - 退货金额) AS 金额
          FROM      #A
          GROUP BY  供应商
        ) t1
        JOIN ( SELECT   供应商 ,
                        SUM(欠款金额) AS 金额
               FROM     #B
               GROUP BY 供应商
             ) t2 ON t2.供应商 = t1.供应商
3楼老大的可以用@非常感谢!~~~分数怎么给你,直接结贴就可以了吗???
裸奔王子 2017-11-03
  • 打赏
  • 举报
回复
忘了,A表,B表都是SQL表,里面的 供应商,类别,总金额,退货金额,欠款金额,总欠金额 都是 字段),AB表都有数据了,想得到C表这样的效果
二月十六 2017-11-03
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#A') is null
drop table #A
Go
Create table #A([供应商] nvarchar(22),[类别] nvarchar(22),[总金额] int,[退货金额] int)
Insert #A
select N'AA',N'内衣',200,0 union all
select N'AA',N'内裤',300,100 union all
select N'BB',N'袜子',500,200 union all
select N'BB',N'秋衣',600,400
GO
if not object_id(N'Tempdb..#B') is null
drop table #B
Go
Create table #B([供应商] nvarchar(22),[欠款金额] int)
Insert #B
select N'AA',400 union all
select N'AA',100 union all
select N'BB',0 union all
select N'BB',500
Go
--测试数据结束
SELECT t1.供应商 ,
t1.金额 + t2.金额 AS 总欠金额
FROM ( SELECT 供应商 ,
SUM(总金额 - 退货金额) AS 金额
FROM #A
GROUP BY 供应商
) t1
JOIN ( SELECT 供应商 ,
SUM(欠款金额) AS 金额
FROM #B
GROUP BY 供应商
) t2 ON t2.供应商 = t1.供应商


OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
你这个问问题的方法非常好,如果能把建表的结构和表的数据的sql发上来就更好了
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
select a1.供应商, a1.总金额-a1.退货金额+b1.欠款金额  from (
select 供应商,sum(总金额) as 总金额,sum (退货金额)  as 退货金额  from a group by 供应商)  as a1  inner join 
(select 供应商,sum(欠款金额) as 欠款金额 from b group by 供应商) as b1 on a1.供应商=b1.供应商
大概这样没有验证过你可以验证下
内容概要:本文研究了基于共识的捆绑算法(CBBA)在多智能体系统中的多任务分配问题,重点应用于远程太空船交会与维修的相对运动规划(RPO)任务。通过Matlab代码实现了CBBA算法,解决了多个航天器在复杂空间环境下协同执行交会、对接与维修任务时的任务分配挑战。研究突出该算法在分布式决策、冲突避免与资源优化方面的优势,详细探讨了任务打包、竞标机制与共识达成等核心环节,验证了其在无中央控制器条件下实现高效、鲁棒任务分配的有效性。; 适合人群:具备航天动力学、控制理论、多智能体系统及优化算法基础,从事航天器自主任务规划、分布式协同控制等相关领域的研究生、科研人员及工程师。; 使用场景及目标:① 实现多航天器在通信受限与信息不完整的远程空间环境下的自主任务分配;② 提升RPO任务中路径规划与资源调度的效率与安全性;③ 构建去中心化的多智能体协同框架,增强系统整体鲁棒性与可扩展性。; 阅读建议:建议结合提供的Matlab代码深入理解CBBA算法的实现逻辑,重点关注竞标权重设计、任务冲突消解与共识收敛过程,并可通过调整任务规模、通信拓扑与约束条件进行仿真实验,以全面掌握算法性能与适用边界。

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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