2016-01-07 4 views
-2

У меня есть проблема с одним запросом:SQL недостающие значения 0

SELECT first_name, last_name, count(scheduleevents.id) 
FROM workers 
JOIN scheduleevents 
ON scheduleevents.worker_id = workers.id 

Этот результат запроса: Рабочие, которые имеют некоторые события (более 0) в таблице scheduleevents, но я хочу рабочих с 0 событий тоже. LEFT JOIN не работает и опция IFNULL, так как я могу решить эту проблему?

+2

Что не работает с использованием левого соединения в этом случае? –

+0

Просто результат тот же, только работники с событиями более 0 – Patryk

+2

Левое соединение работает отлично. –

ответ

1

Вы можете использовать LEFT JOIN, но вам не хватает GROUP BY, чтобы получить результат на одного работника;

SELECT first_name, last_name, count(scheduleevents.worker_id) 
FROM workers 
LEFT JOIN scheduleevents 
    ON scheduleevents.worker_id = workers.id 
GROUP BY workers.id; 

An SQLfiddle to test with.

+0

Извините, я забыл об этом ... – Patryk