Я пытаюсь написать оператор выбора, собирающий одну строку для каждого имени. Ожидаемый выход отсюда:Соединиться дает неправильную сумму
Name = Al, зарплата = 30, бонус = 10
Table_1
Name Salary
Al 10
Al 20
Table_2
Name Bonus
Al 5
Al 5
Как я пишу это? я стараюсь:
Select t1.Name, SUM(t1.Salary), SUM(t2.Bonus) FROM table_1 t1
LEFT JOIN table_2 t2
ON t1.Name=t2.Name
Group By 1
Я получаю бонус 20 вместо 10 в качестве бонуса. Вероятно, это потому, что в t1 есть две строки, из которых суммируется бонус. Как я могу изменить свою функцию, чтобы получить правильный бонус?
намек, сделать 'выбрать * из table_1 t1 LEFT JOIN table_2 t2 ON t1.Name = t2.Name'. – jarlh