2

このMERGEステートメントを実行して、2 つのテーブルからすべての一意の項目番号を取得しました。

MERGE INTO  XXINV.XXINV_ITEM_SNAP_EGS_E5A6 ISE
USING apps.XXRPT_INV_VALUATION_D535_V IVD
ON (IVD.ITEM_NUMBER = ISE.ITEM_NUMBER)
WHEN NOT MATCHED THEN 
INSERT (ORGANIZATION_CODE, ITEM_NUMBER)
VALUES (IVD.OWNING_ORG_CODE,IVD.ITEM_NUMBER)

しかし、問題は、テーブルには重複するアイテム番号があるが、IVDテーブルには存在しないISEため、マージに伴う重複 (1 を残す) を取り除くにはどうすればよいかということです。

注私はSQLに非常に慣れていません。Oracle 10gにToadを使用しています

4

1 に答える 1

0

USINGOracleステートメントで句のサブクエリを指定できるように見えるMERGEので、次のようなことができるかもしれません:

MERGE INTO  XXINV.XXINV_ITEM_SNAP_EGS_E5A6 ISE
USING (select distinct ... from apps.XXRPT_INV_VALUATION_D535_V) IVD
ON (IVD.ITEM_NUMBER = ISE.ITEM_NUMBER)
WHEN NOT MATCHED THEN 
INSERT (ORGANIZATION_CODE, ITEM_NUMBER)
VALUES (IVD.OWNING_ORG_CODE,IVD.ITEM_NUMBER)
于 2012-07-23T17:36:06.880 に答える