ПРИСОЕДИНЯЙТЕСЬ к другой таблице, только если в главной таблице установлено значение true - PullRequest
3 голосов
/ 04 мая 2020

У меня есть таблица pt, которая содержит поля

id, name, is_checked

, а другая таблица с именем cpc, которая имеет следующие поля

id, pt_id, price

NB: cpc ссылка на pt с использованием поля pt_id (отношение один ко многим).

Я хочу написать запрос SQL ON pt для соединения с таблицей cp c, только если поле is_checked is true. Если для поля установлено значение true, то мне нужно присоединиться к cp c ON pt_id и получить значение цены. Если поле is_checked равно false, тогда цена будет NULL

У меня есть пример запроса, но я не знаю, как присоединиться, если поле is_checked истинно:

SELECT pt.id, pt.name, pt.is_checked, cpc.price
    FROM pt
    INNER JOIN cpc ON cpc.pt_id = pt.id 

Заранее спасибо.

1 Ответ

2 голосов
/ 04 мая 2020

Используйте left join:

SELECT pt.id, pt.name, pt.is_checked, cpc.price
FROM pt LEFT JOIN
     cpc ON cpc.pt_id = pt.id AND pt.is_checked
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...