#mysql #sql #oracle
Вопрос:
Я пытаюсь получить новый столбец Claim_YN в таблице. Если в другой таблице есть данные, верните «да», в противном случае верните «нет». Вот пример:
Таблица Продуктов:
Product_ID |
---|
прод_1 |
прод_2 |
прод_3 |
прод_4 |
прод_5 |
прод_6 |
Таблица Претензий:
CLAIM_PRODUCT_ID |
---|
Прод_1 |
Прод_2 |
Прод_6 |
Я бы хотел, чтобы эти 2 столбца были объединены и выглядели как в выводе ниже:-
Product_ID | Претензия Y/N |
---|---|
прод_1 | ДА |
прод_2 | ДА |
прод_3 | НЕТ |
прод_4 | НЕТ |
прод_5 | НЕТ |
прод_6 | ДА |
Таким образом, если утверждение существует, то сгенерированный новый столбец CLAIM_YN вернет «Да», в противном случае он вернет «Нет».
Кто-нибудь может мне в этом помочь? Спасибо!
Комментарии:
1. Что вы используете, Oracle или MySQL? Не добавляйте ненужные теги.
2. В любой базе данных используйте
LEFT JOIN
, чтобы определить, есть ли соответствующая строка в другой таблице.
Ответ №1:
Вы можете объединить a LEFT JOIN
с CASE
предложением. Например:
select p.product_id, case when c.claim_product_id is not null then 'Yes' else 'No' end as claim_yn from product p left join claim c on c.claim_product_id = p.product_id