SQL语句两个表合并合计

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

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.名称

追问

adapter.Fill(ObjectdsDataSet)

IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-21
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.名称追问

错误了!
无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。

追答

你是不是在ACCESS中测试的,以上我写的语句是在SQL SERVER中运行的

本回答被提问者和网友采纳
相似回答