2013-05-12 76 views
0
  TABLE1  
| ID | NAME | MONEY | POINTS | 
| 1  | Tim | 200 | 1 | 
| 2  | Arne | 500 | 2 | 
| 3  | Lies | 600 | 3 | 


      TABLE2  
| ID | NAME | MONEY | POINTS | 
| 1  | Tim | 1000 | 1 | 
| 2  | Arne | 0  | 1 | 
| 3  | Gerard | 50 | 1 | 

這就是我需要通過將它們合併,一欄金錢和點像鄰桌的總和來獲得:Mysql的合併1臺到第2和數列組合在一起

  TABLE3  
| ID | NAME | MONEY | POINTS | 
| 1  | Tim | 1200 | 2 | 
| 2  | Arne | 500 | 3 | 
| 3  | Lies | 600 | 3 | 
| 4  | Gerard | 50 | 1 | 

其有點難以找到如何用mysql查詢命令做到這一點。 歡迎任何幫助:)

+0

2個表格之間的關係是什麼? – DevelopmentIsMyPassion 2013-05-12 17:56:00

回答

2

使用一個UNION將兩個原始表組合成一個表,然後使用SUM聚合生成每個行的總計。

INSERT INTO table3 (name, money, points) 
SELECT name, SUM(money), SUM(points) 
FROM (SELECT name, money, points FROM table1 
     UNION ALL 
     SELECT name, money, points FROM table2) x 
GROUP BY name 

這基本上實現了兩個表的FULL OUTER JOIN,一種功能,MySQL的缺乏。

+0

+1 http://sqlfiddle.com/#!2/271fe/1 – 2013-05-12 18:12:14

+0

比我的解決方案更明確:) – 2013-05-12 18:13:58