首页 > 解决方案 > 使用 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_E 上的值为 Y 时才带上 COLUMN_B 和带上 COLUMN_C。

是否可以创建一个模拟类似以下内容的条件:“选择 column_b,并且仅当 TABLE2 中 column_e 上的值对于相同 ID 为 Y 时才选择 column_c”?

标签: sqllogicsql-scriptshana-sql-scripthana-studio

解决方案


如果我理解正确,这只是一个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;

推荐阅读