2013-05-12 3 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

Какова связь между двумя таблицами? – DevelopmentIsMyPassion

ответ

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 –

+0

Путь более явный, чем мое решение :) –

Смежные вопросы