Я пытаюсь получить данные из двух таблиц. Первая таблица относится к подкатегории, а вторая - к изображению подкатегории. Существует только одна подкатегория, у которой есть изображение, а у остальных нет изображения. Я сделал следующий запрос таким образом, чтобы один, который не имеет изображения может быть с изображением по умолчаниюmysql query не возвращает все результаты при использовании case
select s.name,s.id,s.level,CASE WHEN g.photo_url IS NULL THEN 'no-image.png' ELSE g.photo_url END AS photo_url
from sub_category s,gallery g
where g.main_id=s.id and g.type_id='9' and s.category_id='1' and s.level='1'
Но она возвращается одна строки (тот, который имел изображение) и остальные подкатегории даже не показанный. Предполагалось показать 7 подкатегорий с изображением, а остальные из них - по умолчанию для всех тех, у кого нет изображения в таблице галереи.
Ваш неявный 'INNER JOIN' ограничивает ваш выход. Вместо этого используйте 'LEFT OUTER JOIN'. –