sql - 如何在我的 SQL 代码中找出这个逗号错误?
问题描述
我正在尝试运行一组子查询,但不确定问题出在哪里。
select
can,
sum(case when tax_year = 2018 then qty_req else 0 end) as TY18_esig,
(select sum(case when tax_year = 2018 then qty_req else 0 end) as TY18_esig_unltd
from RPT_PCG_CART_CUR
where PRODUCT in ('eSignature Unlimited for ProSeries'),
sum(case when tax_year = 2019 then qty_req else 0 end) as TY19_esig
from
RPT_PCG_CART_CUR
where
product IN ('eSignature Bank Jan 1 - Dec 31 2020', 'eSignature Unlimited for Lacerte')
and cart_type = 'TRANSACTED'
group by 1
order by 1
我得到的错误是:
[代码:4856,SQL 状态:42601] [Vertica]VJDBC 错误:“,”或附近的语法错误
或者
[代码:4818,SQL 状态:0A000] [Vertica]VJDBC 错误:如果子查询不属于 GROUP BY,则不支持 SELECT 或 ORDER BY 中的子查询
解决方案
如评论中所述,您在标量子查询中缺少右括号/圆括号。
您应该在逗号之前在此行上有两个右括号:
where PRODUCT in ('eSignature Unlimited for ProSeries')),
推荐阅读
- java - 如何修复“[警告] JAR 将为空 - 没有内容被标记为包含!”
- python - 如何创建新列替换列中的多个值
- git - 删除部分 git 历史记录
- function - Julia - 使用元编程来定义几个函数
- java - 在 freemarker-template 中使用宏进行递归类型检查
- javascript - 点击外部时显示所有 googlesheets
- vba - 更改特定文本的颜色并选择它(视觉基础词)
- spring-boot - 重置 Spring Boot 应用程序(JSESSIONID)中的所有会话?
- serilog - 将调试日志消息排入队列并在记录错误消息时转储
- visual-studio-code - 为了将 pylint 与 vs 代码一起使用,我需要哪些设置?