@Bjornie
Изучаю Python

Как вернуть успешно найденные значения, если другие значения не найдены в базе?

К примеру есть запрос:
SELECT s1.id AS sq_id, s1.name AS t1_name, s2.id AS t2_id, s2.name AS t2_name 
FROM `list` AS s1 
INNER JOIN `list` AS s2 ON s2.name = "XXX"
WHERE s1.name = "YYY";


В этом случае если XXX или YYY не найдены, то возвращается полностью пустой ответ. Как составить запрос, чтобы если одно из условий находится, то вернуть хотя бы его? Спасибо!
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В MySQL OUTER JOIN не поддерживается. можно эмулировать через LEFT JOIN ... UNION ... RIGHT JOIN.
А не проще выбрать отдельно по XXX и отдельно по YYY?
Ответ написан
@nozzy
Symfony, Laravel, SQL
Не понял а зачем здесь join?

SELECT s1.id AS sq_id, s1.name AS t1_name  
FROM `list` AS s1 
WHERE s1.name IN ("YYY", "XXX")
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы