如何更正我的 sql 查询,以免收到错误“关键字 UNION not expected”?
Posted
技术标签:
【中文标题】如何更正我的 sql 查询,以免收到错误“关键字 UNION not expected”?【英文标题】:How do I correct my sql query(s) so i don't get the error "keyword UNION not expected"? 【发布时间】:2021-04-26 23:46:17 【问题描述】:我在 python 烧瓶 API 中有一个(可能两个)麻烦的原始 sql 查询。我认为第一个 sql 查询导致了这个错误,但我绝不是 sql 的高手。数据库是 DB2。完整错误如下:“[SQL0199] 关键字 UNION 不是预期的。有效标记:FOR USE SKIP WAIT WITH OPTIMIZE。”。这是我的第一个和第二个 sql 查询
第一次查询
SELECT
PRDATA as the_date,
PREDR as csr,
PRQTY as quantity,
PRORD# as order_data,
PREXT as ext
FROM DATA.DATATABLE
WHERE CUST = customer_number
limit Limit offset offset_count
union all
SELECT
PRDATA as the_date,
PREDR as csr,
PRQTY as quantity,
PRORD# as order_data,
PREXT as ext
FROM DATA.DATATABLE
WHERE CUST = customer_number
limit Limit offset offset_count
第二次查询
SELECT COUNT(*)
from DATA.DATATABLE
WHERE PRCUST# = customer_number
UNION ALL
SELECT COUNT(*)
from DATA.DATATABLE
WHERE PRCUST# = customer_number
就像我说的,我不是 SQL 大师,所以任何建议或指向我可以检查的内容的指针将不胜感激,谢谢!
【问题讨论】:
你使用的是什么 SQL 数据库? @ZackVT 基于标签看起来像 DB2。 这是一个 IBM Db2。现在将其添加到问题详细信息中 【参考方案1】:终于明白了。在第一个查询中,我删除了第一个limit Limit offset offset_count
,并在全部联合之后留下了第二个。我想因为我使用了一个联合,所以它可能会认为它是重复的并抛出那个错误。不完全确定
【讨论】:
以上是关于如何更正我的 sql 查询,以免收到错误“关键字 UNION not expected”?的主要内容,如果未能解决你的问题,请参考以下文章