Условные SQL-запросы с SQL-скриптом - PullRequest
0 голосов
/ 20 сентября 2018

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

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.

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

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

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

    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
0 голосов
/ 20 сентября 2018

Если я правильно понимаю, это просто выражение 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;
...