2012-02-10 4 views
0

У меня есть две таблицы со следующими записями:MySQL Recordset SUM() GROUP BY

ТАБЛИЦА 1 tblcategories

идентификатор категории
1 Архитектор
2 Инженер
3 Руководитель проекта

ТАБЛИЦА 2 tblpayments

ID/CategoryID/оплата
1/1/100
2/2/150
3/2/50
4/1/200
5/1/50

Текущий мой записей SQL выглядит следующим образом :

ВЫБОР tblcategories.id, tblcategories.category, СУММА (tblpayments.payment) как общий ОТ tblcategories, tblpayments ГДЕ (tblcategories.id = tblpayments.category) ГРУППА ПО tblcategories.id

Который дает мне следующий результат:

Record/Id/категорию/общее
1/1/Архитектор/350
2/2/Engineer/200

Однако, я хотел бы, Следующий результат:

Запись/Id/категория/общая
1/1/Архитектор/350
2/2/инженер/200
3/3/Проект М anager/0

Возможно ли это?

ответ

1

Попробуйте

SELECT cat.id, cat.category, SUM(pay.payment) AS total 
FROM tblcategories cat LEFT JOIN tblpayments pay 
    ON cat.id = pay.category 
GROUP BY cat.id 
+0

Работает шарм! Благодарю. – user1201748

+0

@ user1201748: вы должны [принять мой ответ] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), если он сработал :) – Marco