有关结果集合并的SQL拼写
分别用三个Group By 语句取得了三个结果集
结果集A内容如下(共10个人):
姓名 人数
张三 5
李四 3
王五 2
结果集B内容如下(共11个人):
姓名 人数
张三 2
赵六 4
周七 5
结果集C内容如下(共13个人):
姓名 人数
赵六 5
吴八 8
现在想取得三个结果集的合集,想得到如下结果(共34个人):
张三 7
李四 3
王五 2
赵六 9
周七 5
吴八 8
请问如果将三个SQL合并到一起?
[解决办法]
用union all试试,如:
select * form table1
union all
select * from table2
[解决办法]
select 姓名,sum(人数)
from
{
结果集ASQL
union all
结果集BSQL
union all
结果集CSQL
}
X
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]
SELECT 姓名, COUNT(*) 人数 FROM
(
SELECT 姓名 FROM A
UNION ALL
SELECT 姓名 FROM B
UNION ALL
SELECT 姓名 FROM C
) d
GROUP BY 姓名
[解决办法]
SELECT 姓名, SUM(人数) FROM
(
SELECT 姓名 FROM A
UNION ALL
SELECT 姓名 FROM B
UNION ALL
SELECT 姓名 FROM C
) d
GROUP BY 姓名