根据另一列的值选择动态列?

时间:2015-09-25 18:35:54

标签: sql case intersystems-cache

根据下表,我想根据Name1列的值动态选择Name2WhichName字段。

id  Name1   Name2   WhichName   SomeValue
1   Bob     James   1           Blue
2           Steve   2           Horse
3   Fred            1           Radish

结果应如下所示:

id  Name    SomeValue
1   Bob     Blue
2   Steve   Horse
3   Fred    Radish

DBMS是Caché

1 个答案:

答案 0 :(得分:2)

您可以使用b

执行此操作
case

注意:如果您更喜欢select id, (case when WhichName = 1 then Name1 else Name2 end) as Name, SomeValue from <table>; ,除非是Name1,否则您可以使用NULL

COALESCE()