FitTech
@FitTech

Где ошибка в выборке?

Есть SQL запрос, мне нужно получить только те записи у которых total = 1. А в моем случае возвращается все. Почему так?

SELECT log.*
FROM `log`
  LEFT JOIN `month` ON `log`.`model_id` = `month`.`id`
  LEFT JOIN `days` ON `log`.`model_id` = `days`.`id`
WHERE (`month`.`total` = 1) OR (`days`.`total` = 1)


Таблица Log:
id, model_id, model_name
1, 1, month
2, 3, month
3, 2, days

month
id, title, total
1, jan, 1
2, feb, 1
3, jun, 2

days
id, title, total
1, mon, 2
2, sun, 3
  • Вопрос задан
  • 140 просмотров
Пригласить эксперта
Ответы на вопрос 2
streetflush
@streetflush
Запрос верный. Возможно это не все данные в таблицах?
Ответ написан
Комментировать
Astrohas
@Astrohas
Python/Django Developer
Скорее всего тут должен быть inner join вместо left. Left берет данные из левой таблицы независимо от условий. А иннер только те которые удовлетворяют условию
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы