CASE 语句 - 使 THEN 显示另一列中的信息



大家早上好,

我有一个关于案件陈述的问题。让我设置一个我很难处理的场景。假设我们有一个包含所有提供商许可证的表格。每个提供商可以有一个到多个许可证。我想创建一个案例语句,基本上说当提供商许可证类型等于此值时,然后显示此不同列中的许可证编号,其中包含其编号的值。

希望这是有道理的。我不希望它显示诸如THEN"初级保健医生"之类的字样,而是希望它在THEN中提供实际的许可证号。

有什么想法吗?谢谢!

只需使用文档中描述的 CASE 语法:https://www.postgresql.org/docs/7.4/static/functions-conditional.html

CASE WHEN license_type = 1 THEN license_number_column_a
WHEN license_type = 2 THEN license_number_column_b
END

我说你正在尝试使用这样的代码

Case licence_type 
when 1 then licence_number_column_a
when 2 then licence_number_column_b
... 
End

这种类型的案例仅在计算常量时起作用。 评估列时,需要将测试移动到"何时"

Case  
when licence_type = 1 then licence_number_column_a
when licence_type = 2 then licence_number_column_b
... 
End

最新更新