snowflake-cloud-data-platform - 我正在尝试在案例中使用 select 语句,但雪花中有很多语法错误
问题描述
select
column1,
case
when column1 = 1 then select ename from emp where sal=2000
when column1 = 2 then select ename from emp where sal=3000
when column1 is null then 'NULL'
else to_number('123')
end as result from values (1), (2), (null);
SQL 编译错误:在 '32' 附近的位置 37 处解析错误行 4。位置 44 处的语法错误第 4 行意外“来自”。位置 67 处的第 4 行语法错误意外'`'。在 '32' 附近的位置 37 处解析错误行 5。位置 25 处的语法错误第 5 行意外的 'then'。
解决方案
子查询应放在括号中,如下所示:
select
column1,
case
when column1 = 1 then (select ename from emp where sal=2000)
when column1 = 2 then (select ename from emp where sal=3000)
else to_number('123')
end as result from values (1), (2), (null);
推荐阅读
- assembly - 为什么可编程间隔计时器在使用 Int 0x21 和服务 0x2c 时不显示正确的时间值
- python - 如何使用 matplotlib 绘制大范围值?
- c++ - 什么时候可以将 `typename` 与明确引用类型的标识符一起使用?
- json - 如何将 jq 与变量连接起来?
- javascript - AttributeError: 'WebElement' object has no attribute 'getElementById'
- read.csv - R crashes when trying to load CSV file
- java - How to check if json file contains specific value or not
- verilog - Questa 10.7b 中没有关于端口和分配的警告
- bash - ack 在 cronjob 中失败,但从命令行运行良好
- c - C:为什么我得到编译错误“取消引用指向不完整类型'struct xy'的指针”?