运行联合查询时')'附近的语法不正确

时间:2019-07-01 18:36:36

标签: sql sql-server

尝试运行此联合查询,并保持在')'错误附近出现语法错误。

SELECT ACCOUNT_ID, count(*)
AS TOTAL_TRANSACTIONS
FROM ACCOUNT_TRANSACTION
WHERE TRANSACTION_TYPE_ID = '9'
GROUP BY ACCOUNT_ID
HAVING COUNT(*) < '4'
UNION
SELECT TRANSACTION_STATUS_DATE
AS TRANS_DATE
FROM ACCOUNT_TRANSACTION
GROUP BY TRANSACTION_STATUS_DATE
HAVING (MONTH(TRANSACTION_STATUS_DATE) = MONTH(dateadd(dd, -1, GetDate()))
AND YEAR(TRANSACTION_STATUS_DATE) = YEAR(dateadd(dd, -1, GetDate())

3 个答案:

答案 0 :(得分:1)

计算括号。 (之后的HAVING没有匹配的)

也不适用于SO。

答案 1 :(得分:1)

有11个出现在右括号中,而只有9个出现在右括号中。因此,查询末尾缺少两个右括号。

答案 2 :(得分:0)

查询有两个问题。

1)您不能合并两个查询以选择不同的输出

2)缺少')'

对于#1,这取决于您要实现的目标

对于#2,请使用在线格式设置工具自动缩进,这样可以更轻松地调试语法。