我正在尝试使用 SPUFI 提交 SQL 查询来比较 z/OS 中 DB2 数据库中的两个表。
我通过使用 EXCEPT
来查看两个 SELECT
查询之间的差异。
我需要使用 WHERE
子句从第一个查询中过滤 SELECT
语句。
SELECT KEY_FIELD_1,LOOKUP_FIELD_1
FROM TABLE_1
WHERE FILTER_FIELD = '1'
EXCEPT
SELECT KEY FIELD_2,LOOKUP_FIELD_2
FROM TABLE_2
我得到了结果,但它也返回了错误-199
这是因为第二个SELECT
中不存在WHERE
子句陈述?
ERROR: ILLEGAL USE OF KEYWORD EXCEPT.
TOKEN <ERR_STMT> <WNG_STMT> GET SQL
SAVEPOINT HOLD FREE ASSOCIATE WAS EXPECTED
最佳答案
尝试引入括号,例如
( SELECT KEY_FIELD_1,LOOKUP_FIELD_1
FROM TABLE_1
WHERE FILTER_FIELD = '1' )
EXCEPT
( SELECT KEY FIELD_2,LOOKUP_FIELD_2
FROM TABLE_2 )
关于sql - DB2 SELECT EXCEPT 与 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40680708/