2012-07-23 149 views
2

我这样做MERGE语句从我的两个表得到的所有独特项目编号:删除重复记录保留1

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

+0

** **什么数据库系统,以及哪个版本? ? * SQL *只是*结构化查询语言* - 许多数据库系统使用的语言,但不是数据库产品......这样的功能通常是特定于供应商的 - 因此我们确实需要知道**数据库系统**你正在使用.... – 2012-07-23 16:48:55

回答

0

Looks like you can specify a subquery在Oracle MERGE声明USING条款,所以你可以做一些事情,如:

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)