我正在開發一個集成項目,並創建了一個批處理日誌表,我已經存儲了哪些組合已經導出,然後根據該批處理日誌表檢查新數據。它工作得很好,只要我大多隻是存儲在batchlog表中的一個ID,假設客戶ID,然後選擇從客戶表中的新行是這樣的:如何在SQL中有一組組合作爲條件?
SELECT *
FROM Customer
WHERE CusId NOT IN (SELECT CusID FROM IntegrationBatchlog)
不過,現在的解決方案是更爲複雜和同一行從Customer表導出幾次並結合其他數據,所以現在我有幾個單獨的存儲過程和IntegrationBatchlog表(CusID,OrdertypeID和PaymentMethod)中的更多列以及我的select中的join子句,所以現在更像。
SELECT * FROM Customer c
JOIN....
JOIN...
JOIN...
WHERE there is not a row with that CusID AND OrderTypeID AND PaymentMethod in batchlog table yet.
所以在這裏我應該檢查這是否精確組合已經出口,但是你怎麼做,當你有一個像在batchlog三表幾個ID列和要排除那些行,其中所有三個ID在batchlog表中已經存在於同一行中?