我有两个示例表:
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_E 上的值为 Y 时才引入COLUMN_B并带来COLUMN_C。
是否可以创建一个模拟以下内容的条件: "选择column_b,然后选择column_c当且仅当表2中column_e上的值为同一ID的Y"?
如果我理解正确,这只是一个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;
使用 join
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