具有硬编码值的 SQL Case when 语句

问题描述 投票:0回答:1

您好,当在我的国家/地区属性下选择法国时,我使用以下查询来获取值 FR20 和 FR40 我正在使用以下查询,但无法获取值。

选择 ${Country}='France' 时的情况 然后(选择“FR20”作为 ID 并集选择“FR40”作为 ID) END 作为 ID

如果我使用了错误的语法,任何人都可以帮助我吗?

我尝试了上面的查询。

sql case
1个回答
0
投票

您似乎正在尝试在 CASE 语句中使用子查询。问题可能在于 ${Country} 替换,它可能无法按预期工作。假设您使用某种模板语言,以下是修复它的方法:

select 
    case 
        when '${Country}'='France' 
        then 'FR20' 
        else null 
    end as ID
union
select 
    case 
        when '${Country}'='France' 
        then 'FR40' 
        else null 
    end as ID
© www.soinside.com 2019 - 2024. All rights reserved.