SQL1SELECT
SUM(Money1),SUM(Money2),SUM(Money3) FROM
(
SELECT
Money1,Money2,Money3
FROM
table1
UNION
SELECT
Money1,Money2,Money3
FROM
table2
) AS total;
假如 我现在合计 Money1 和 Money2 如下
SQL2SELECT
SUM(Money1),SUM(Money2) FROM
(
SELECT
Money1,Money2
FROM
table1
UNION
SELECT
Money1,Money2
FROM
table2
) AS total;如果 table1 里的 Money2 和 table2 里的 Money2 都没有重复的内容 那么 计算出来的 SUM(Money2) 是正确的,但是如果
比如 table1 里的 Money2 有两个相同的 201 201 那么就会少合计一个201 如果是三个那么就是少2个.这个是什么情况?
但是如果我有三个字段 例如像SQL1那样多了个Money3 这样计算又是正常的,我还没测试 Money3如果有两个一样的会不会出现这种事情.是不是我的SQL语句写得有问题?还是?
SUM(Money1),SUM(Money2),SUM(Money3) FROM
(
SELECT
Money1,Money2,Money3
FROM
table1
UNION
SELECT
Money1,Money2,Money3
FROM
table2
) AS total;
假如 我现在合计 Money1 和 Money2 如下
SQL2SELECT
SUM(Money1),SUM(Money2) FROM
(
SELECT
Money1,Money2
FROM
table1
UNION
SELECT
Money1,Money2
FROM
table2
) AS total;如果 table1 里的 Money2 和 table2 里的 Money2 都没有重复的内容 那么 计算出来的 SUM(Money2) 是正确的,但是如果
比如 table1 里的 Money2 有两个相同的 201 201 那么就会少合计一个201 如果是三个那么就是少2个.这个是什么情况?
但是如果我有三个字段 例如像SQL1那样多了个Money3 这样计算又是正常的,我还没测试 Money3如果有两个一样的会不会出现这种事情.是不是我的SQL语句写得有问题?还是?
刚查了一下注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。100分送上,望笑纳,哈哈哈