【发布时间】:2021-01-06 14:22:01
【问题描述】:
我正在尝试运行一组子查询,但不确定问题出在哪里。
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 中的子查询
【问题讨论】:
-
第三个“列”是一个
(select .....,它缺少一个结束圆括号:in条件在括号中列出了一个值 - 但它应该以两个括号(也用于关闭(select ......部分)。 -
谢谢我纠正了这个。对按问题分组的任何想法?
-
group by 1什么都不做 -
不按CAN分组,因为有聚合
-
你需要表别名