我有2个表:A和B两个表相同的列:插入从父表中的非重复数据,以子表在SQL Server 2008
Customer_Part_Number,
Lear_Part_Number,
Shipping_ID,
Customer_Name,
Effective_Date,
End_Date,Change_ID,
PO_Number,
PO_Price
我已经成功的全部数据复制到表从表格中的 B,而当列的记录我的情况:
TENANT_ID,
CUSTOMER_PART_NUMBER,
SHIPPING_ID,
EFFECTIVE_DATE
是表A一样,我不希望它得到它插入到我已经使用查询试图表B. :
INSERT INTO OSUSR_1SV_QAD_PO_DATA
(TENANT_ID,
CUSTOMER_PART_NUMBER,
LEAR_PART_NUMBER,
SHIPPING_ID,
CUSTOMER_NAME,
PROGRAM_NAME,
EFFECTIVE_DATE,
END_DATE,
CHANGE_ID,
PO_NUMBER,
PO_PRICE)
SELECT
TENANT_ID,
CUSTOMER_PART_NUMBER,
LEAR_PART_NUMBER,
SHIPPING_ID,
CUSTOMER_NAME,
PROGRAM_NAME,
EFFECTIVE_DATE,
END_DATE,
CHANGE_ID,
PO_NUMBER,
PO_PRICE
FROM
OSUSR_1SV_STAGING_FTP A
WHERE
not exists
(SELECT TENANT_ID,
CUSTOMER_PART_NUMBER,
LEAR_PART_NUMBER,
SHIPPING_ID,
CUSTOMER_NAME,
PROGRAM_NAME,
EFFECTIVE_DATE,
END_DATE,
CHANGE_ID,
PO_NUMBER,
PO_PRICE
FROM OSUSR_1SV_QAD_PO_DATA B
WHERE
A.TENANT_ID = B.TENANT_ID
and A.CUSTOMER_PART_NUMBER = A.CUSTOMER_PART_NUMBER
and A.SHIPPING_ID = B.SHIPPING_ID
and A.EFFECTIVE_DATE = B.EFFECTIVE_DATE)
这里,如果列TENANT_ID,CUSTOMER_PART_NUMBER,SHIPPING_ID,EFFECTIVE_DATE的记录相同,则不会插入重复记录。
请帮助我。
在第一图像上有表OSUSR_1SV_STAGING_FTP重复数据
TENANT_ID的基础上,
CUSTOMER_PART_NUMBER,
SHIPPING_ID,
EFFECTIVE_DATE
但我需要插入的数据等表2上的图像2 OSUSR_1SV_QAD_PO_DATA没有重复 TENANT_ID,
CUSTOMER_PART _number,
SHIPPING_ID,
EFFECTIVE_DATE
我试图此查询
MERGE OSUSR_1SV_QAD_PO_DATA甲
USING OSUSR_1SV_STAGING_FTP乙
ON(B.TENANT_ID = A.TENANT_ID和B.CUSTOMER_PART_NUMBER = A.CUSTOMER_PART_NUMBER
and B.SHIPPING_ID = A.SHIPPING_ID and B.EFFECTIVE_DATE = A.EFFECTIVE_DATE)
什么时候匹配
DELETE WHERE ID NOT IN(SELECT MIN(ID)_
FROM OSUSR_1SV_STAGING_FTP
GROUP BY CUSTOMER_PART_NUMBER,SHIPPING_ID)
WHEN NOT MATCHED THEN
INSERT(TENANT_ID,CUSTOMER_PART_NUMBER,LEAR_PART_NUMBER,SHIPPING_ID,CUSTOMER_NAME,PROGRAM_NAME,EFFECTIVE_DATE,结束日期, CHANGE_ID,PO_NUMBER,PO_PRICE)
VALUES(B.TENANT_ID,B.CUSTOMER_PART_NUMBER,B.LEAR_PART_NUMBER,B.SHIPPING_ID,
B.CUSTOMER_NAME,B.PROGRAM_NAME,B.EFFECTIVE_DATE,B.END_DATE,B.CHANGE_ID,B。 PO_NUMBER,B.PO_PRICE);
为什么没有你查询的工作? –