Условные SQL-запросы с SQL-скриптом

У меня есть две таблицы примеров:

TABLE1:
      ID    | COLUMN_B| COLUMN_C
   _________|_________|_________
       1    |    0    |    1
    ________|_________|_________
       2    |    0    |    1
    ________|_________|_________
       3    |    0    |    1


    TABLE2:
      ID    | COLUMN_E| COLUMN_F
    ________|_________|________
       1    |    Y    |    X
    ________|_________|_________
       2    |    Y    |    X
    ________|_________|_________
       3    |    Y    |    X

Они связаны друг с другом с помощью столбца ID. Я хотел бы выполнить выбор для TABLE1, перенеся COLUMN_B и COLUMN_C, только если значение для COLUMN_E равно Y.

Можно ли создать условие, имитирующее что-то вроде: "выберите column_b и выберите column_c IF И ТОЛЬКО ЕСЛИ значение для column_e из TABLE2 равно Y для того же идентификатора"?

2 ответа

Решение

Если я правильно понимаю, это просто case выражение:

select t1.column_b,
       (case when t2.column_e = 'Y' then t1.column_c end) as column_c
from table1 t1 left join
     table2 t2
     on t1.id = t2.id;

Использовать соединение

    select t1.COLUMN_B,
   case when t2.COLUMN_E='Y' then t1.COLUMN_C else null
end as c from table1 t1 
    left join table2 t2 on t1.id=t2.id
Другие вопросы по тегам