2

我这样做MERGE是为了从我的两个表中获取所有唯一的项目编号:

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 很陌生。我使用 Toad for Oracle 10g

4

1 回答 1

0

看起来您可以USING为Oracle 语句中的子句指定子查询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 回答