早上好,全部,
我对案例陈述有疑问。让我建立一个我很难过的场景。假设我们有一张包含所有提供商许可证的表格。每个提供商可以拥有从一个到多个许可证的任何地方。我想创建一个case语句,基本上说当提供者许可类型等于此时,然后显示来自这个不同列的许可证号,其中包含数字值。
希望这是有道理的。我不希望它显示诸如THEN'初级保健医生'之类的字样,而是希望它在那时提供实际的许可证号码。
有什么想法吗?谢谢!
答案 0 :(得分:0)
只需使用文档中描述的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
答案 1 :(得分:0)
我觉得您正在尝试使用像
这样的代码Case licence_type
when 1 then licence_number_column_a
when 2 then licence_number_column_b
...
End
此类案例仅在评估常量时有效。 在评估列时,需要将测试移至“when”
Case
when licence_type = 1 then licence_number_column_a
when licence_type = 2 then licence_number_column_b
...
End