带有WHERE子句的DB2 SELECT EXCEPT

时间:2016-11-18 15:27:09

标签: sql select except db2-zos

我正在尝试使用SPUFI比较z / OS中DB2数据库中的两个表来提交SQL查询。

我是通过使用EXCEPT查看两个SELECT查询之间的区别来实现此目的的。

我需要使用SELECT子句从第一个查询中过滤WHERE语句。

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这是因为第二个WHERE语句中没有SELECT子句吗?

ERROR: ILLEGAL USE OF KEYWORD EXCEPT.  
TOKEN <ERR_STMT> <WNG_STMT> GET SQL  
SAVEPOINT HOLD FREE ASSOCIATE WAS EXPECTED

1 个答案:

答案 0 :(得分:2)

尝试引入括号,例如

( 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 )