A表
名称 数量 金额
a 5 500
b 10 200
a 2 200
B表
名称 数量 金额
a 1 130
b 1 25
a 2 240
b 1 30
显示目的
名称 A数量 A金额 B数量 B金额
a 7 700 3 370
b 10 200 2 55
Access or SQL 2000
SQL语句两个表合并合计
答案:3 悬赏:10 手机版
解决时间 2021-02-23 16:11
- 提问者网友:献世佛
- 2021-02-22 17:50
最佳答案
- 五星知识达人网友:怀裏藏嬌
- 2021-02-22 18:15
WITH A AS(SELECt 名称,SUM(数量) A数量,SUM(金额) A金额
FROM A表 GROUP BY 名称),
B AS(SELECt 名称,SUM(数量) B数量,SUM(金额) B金额
FROM B表 GROUP BY 名称)
SELECt A.*, B数量,B金额
FROM A JOIN B ON A.名称=B.名称
FROM A表 GROUP BY 名称),
B AS(SELECt 名称,SUM(数量) B数量,SUM(金额) B金额
FROM B表 GROUP BY 名称)
SELECt A.*, B数量,B金额
FROM A JOIN B ON A.名称=B.名称
全部回答
- 1楼网友:十鸦
- 2021-02-22 21:13
select 名称=a.名称,A数量=a.数量,A金额=a.金额,B数量=b.数量,B金额=b.金额
from (select 名称,数量=sum(数量),金额=sum(金额) from A表 group by 名称) a
full join (select 名称,数量=sum(数量),金额=sum(金额) from B表 group by 名称) b
on a.名称=b.名称
- 2楼网友:第幾種人
- 2021-02-22 19:37
(select p, j --p是产品,j是价格
from (select p, j
from a
union
select p, j from b) a ----将两个表的所有数据连接,组成临时表
group by a.p
having count(*) = 1) --根据产品分组,将临时表a中的a,b单独拥有产品列出
union
(select a.p, (select a.j - b.j from a, b where a.p = bj) j
from a, b
where a.p = b.p) --a.b共有的,求差
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯