Mysql 合并两个表的总和

Mysql 合并两个表的总和,mysql,Mysql,我有以下两个MYSQL每周表: 表A_Wk1 Id | Price ---------- 1 | 1 1 | 2 2 | 5 表A_Wk2 Id | Price ---------- 1 | 2 4 | 2 我可以将价格分组到一个表中: SELECT Id, SUM(Price) FROM TableA_Wk1 GROUP BY Id 得到 Id | Price ---------- 1 | 3 2 | 5 我也想考虑表表WK2,得到下面的: Id | Price ----

我有以下两个MYSQL每周表:

表A_Wk1

Id | Price
----------
1  | 1
1  | 2
2  | 5
表A_Wk2

Id | Price
----------
1  | 2
4  | 2
我可以将价格分组到一个表中:

SELECT Id, SUM(Price) FROM TableA_Wk1
GROUP BY Id
得到

Id | Price
----------
1  | 3
2  | 5

我也想考虑表表WK2,得到下面的:

Id | Price
----------
1  | 5
2  | 5
4  | 2
如果我使用UNION,则所有结果将被分隔:

SELECT Id, SUM(Price) FROM TableA_Wk1
  GROUP BY Id
UNION ALL
SELECT Id, SUM(Price) FROM TableA_Wk2
  GROUP BY Id

合并结果集,然后执行求和以获得求和值

select sum(price) from (
   select price from TableA_Wk1
   union all  
   select price from TableA_Wk1
) as alais

合并结果集,然后执行求和以获得求和值

select sum(price) from (
   select price from TableA_Wk1
   union all  
   select price from TableA_Wk1
) as alais
首先从这两个表中获取所有的
元组。然后在结果表上使用
SUM
GROUP BY Id

SELECT 
t.Id,
SUM(t.price) 
FROM 
(
 SELECT Id, Price FROM TableA_Wk1
 UNION ALL
 SELECT Id, Price FROM TableA_Wk2
) AS t
GROUP BY t.Id
注意

UNION
删除重复项

UNION ALL
不会。首先从这两个表中获取所有的
元组。然后在结果表上使用
SUM
GROUP BY Id

SELECT 
t.Id,
SUM(t.price) 
FROM 
(
 SELECT Id, Price FROM TableA_Wk1
 UNION ALL
 SELECT Id, Price FROM TableA_Wk2
) AS t
GROUP BY t.Id
注意

UNION
删除重复项


UNION ALL
不会。首先
UNION
,然后
分组:

SELECT t.id,sum(t.price) as price
FROM (
      SELECT id,price from TableA_Wk1
      UNION ALL
      SELECT id,price from TableA_Wk2
     ) t
GROUP BY t.id

首先
联合
,然后
分组:

SELECT t.id,sum(t.price) as price
FROM (
      SELECT id,price from TableA_Wk1
      UNION ALL
      SELECT id,price from TableA_Wk2
     ) t
GROUP BY t.id