2013-05-26 2 views
0

Я работаю над PHP приложения, и есть проблемы с этим запросом:запрос не возвращает все результаты при вступлении

SELECT imagesets.id, imagesets.name, users.name AS username, users.email, COUNT(images.id) AS count 
FROM fotosite.imagesets 
INNER JOIN users ON imagesets.userid = users.id 
INNER JOIN images ON imagesets.id = images.imageset 
GROUP BY imagesets.id 
ORDER BY imagesets.id desc; 

Однако этот запрос не возвращает результаты, где нет данных в images таблицу, которая соответствует данному идентификатору.

Например, этот запрос работает отлично, но не дает мне столбец подсчета, что я хочу:

SELECT imagesets.id, imagesets.name, users.name AS username, users.email 
FROM fotosite.imagesets 
INNER JOIN users ON imagesets.userid = users.id 
GROUP BY imagesets.id 
ORDER BY imagesets.id desc; 
+0

Вы ищете '' LEFT JOIN''. – mzedeler

ответ

2

Используйте LEFT JOIN вместо INNER JOIN. INNER JOIN будет возвращать только строки, где данные доступны во второй таблице для ваших критериев соединения. LEFT JOIN возвращает также строки, которые нельзя присоединить к строкам в другой таблице.

+0

Спасибо! Примите ваш ответ, когда это станет возможным. –

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