1

SPUFI を使用して SQL クエリを送信する z/OS の DB2 データベースの 2 つのテーブルを比較しようとしています。

これは、2 つのクエリ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

結果は返ってきましたが、エラーも返されました。これは、2 番目のステートメントに句が存在しない-199ためですか?WHERESELECT

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

1 に答える 1

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 )
于 2016-11-18T16:32:46.627 に答える