小弟想设计一个查询,用来合计两张有不同数量的名字的数据。
表结构如下
表A
名字 数值
A 1
B 1
D 1
表B
名字 数值
B 1
C 1现在我想设计一个查询来达到以下效果
名字 合计
A 1
B 2
C 1
D 1
写到这里不会写了,请各位高手指点
表结构如下
表A
名字 数值
A 1
B 1
D 1
表B
名字 数值
B 1
C 1现在我想设计一个查询来达到以下效果
名字 合计
A 1
B 2
C 1
D 1
写到这里不会写了,请各位高手指点
(
SELECT * FROM 表A
UNION ALL
SELECT * FROM 表B
) T
GROUP BY 名字
--ORDER BY 名字
但我发现一个问题,是我描述出错了,
我的表A和表B列的数目不同,表A有三列,表B只有两列
表的结构应该是
表A
名字 数值1 数值2
A 1 1
B 1 1
D 1 1
表B
名字 数值1
B 1
C 1
结果
名字 合计1 合计2
A 1 1
B 2 1
C 1 0
D 1 1
FROM(
SELECT * FROM 表A
UNION ALL
SELECT *,0 FROM 表B
) T
GROUP BY 名字