我有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);
爲什麼沒有你查詢的工作? –