sql - 当我使用嵌套的 CASE WHEN 时,关键字“AS”附近的语法不正确
问题描述
我正在编写这个 sql 查询,但每当我运行它时,我都会在关键字“AS”附近得到不正确的语法。代码有问题吗?
SELECT PA.PolExec, SUM(ISNULL(PR.Re,0) + ISNULL(PF.Re,0)) AS Revenue,
CASE P.PolTypeLOB
WHEN 'Me%' THEN 'MED'
WHEN 'Pre' THEN 'MED'
ELSE CASE P.TypeOfBus
WHEN 1 THEN 'PL'
WHEN 2 THEN 'CL'
ELSE 'BEN'
END AS PolType
END AS PolType
解决方案
取出内部别名——没有意义
所以它看起来像这样:
CASE P.PolTypeLOB
WHEN 'Me%' THEN 'MED'
WHEN 'Pre' THEN 'MED'
ELSE CASE P.TypeOfBus
WHEN 1 THEN 'PL'
WHEN 2 THEN 'CL'
ELSE 'BEN'
END
END AS PolType
推荐阅读
- html - 手机地址栏丢固定位置
- adobe - 从 adobe 分析原始数据中的用户代理检测设备类型
- r - 使用数据表单个单元格选择来子集 R Shiny 中的数据框
- javascript - 如何使用 Vue InstantSearch 设置初始搜索的属性?
- xamarin.forms - 自定义控件上的 BindableProperty 问题
- html - IE11 flex 项目垂直溢出
- python - 如何在 3 列中显示数据库中的值
- wordpress - 无法同步/认证 wp/wc 插件
- ios - 如何在 Swift 中安全地解压选项(AlamoFire 响应对象)
- go - 使用 golang 从 YAML 解码/编码多行字符串字段