寻求解决问题的方法

天下在我心 2019-06-20 11:26:28
我在数据库的存储过程中有这样的临时表,结构为 字段一 nvarchar(50),字段二 int。
然后实际得到的数据可能是这样的
临时表一数据为
A 1
B 1
C 2
临时表二的数据为
A 1
C 1
我实际需要的数据应该为(这是根据逻辑需要相加时)
A 2
B 1
C 3
还有可能根据逻辑需要相减结果应该为
B 1
C 1
请问有什么简便的方法可以用的?因为数据可能会有好几十条(类别),一一根据类别名去写太难受了
有可能是相加,相加时临时表一也可能数据少于临时表二,需要相减时,临时表一数据肯定大于等于临时表二的。

...全文
141 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ダ雨夹雪リ 2019-06-20
  • 打赏
  • 举报
回复


CREATE TABLE #A
(
字段1 VARCHAR(10),
字段2 int
)

CREATE TABLE #B
(
字段1 VARCHAR(10),
字段2 int
)

INSERT INTO #A VALUES('A',1),('B',1),('C', 2)
INSERT INTO #B VALUES('A',1), ('C', 1)

--相加
SELECT 字段1,SUM(字段2) FROM
(
SELECT 字段1,字段2 FROM #A
UNION ALL
SELECT 字段1,字段2 FROM #B
) A GROUP BY 字段1

--相减
SELECT 字段1,SUM(字段2) FROM
(
SELECT 字段1,字段2 FROM #A
UNION ALL
SELECT 字段1,-字段2 FROM #B
) A GROUP BY 字段1 HAVING SUM(字段2)<>0

天下在我心 2019-06-20
  • 打赏
  • 举报
回复
谢谢回答,根据你的思路问题已经解决了。

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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