在我為我的問題所做的搜索中找不到確切的答案。我有一個表格,它是客戶零件的矩陣。我正在嘗試從我匯入的電子表格進行批量更新,但我被重復的鍵值所阻止,我需要找到解決方法
目標表 (cpmatrix) 類似于以下內容(省略了不需要的列)
| 顧客 | 部分 |
|---|---|
| 客戶A | 甲部 |
| 客戶A | B部分 |
| 客戶B | 甲部 |
| 客戶B | B部分 |
等等。所以導致我出現問題的部分是我上傳的電子表格包含大約 12000 多條客戶編號和相關部分的記錄。由于矩陣的性質,客戶編號可能會重復,零件編號可能會重復,這不是我的問題。我的問題是矩陣約束是兩列的組合
所以 - CustA 復制 1000 次很好,PartA 復制 1000 次也很好,但我不能有兩行,其中 CustA 是客戶,PartA 是零件。Customer 和 part 的組合是我的約束所在,我不知道如何進行插入以檢查該組合并在組合存在時跳過該行插入
我目前堅持基本的
INSERT INTO cpmatrix
(cpmcust, cpmpart)
SELECT
customer, part
FROM table_2
嘗試了許多不同的連接,NOT IN、NOT EXISTS 等
uj5u.com熱心網友回復:
我認為你只需要將一個存在與一個不同的
INSERT INTO cpmatrix
(cpmcust, cpmpart)
SELECT
distinct customer, part
FROM table_2
WHERE NOT EXISTS (
SELECT * FROM cpmatrix
WHERE customer = cpmcust
part = cpmpart)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/329765.html
標籤:sql sql-server
下一篇:使用多維陣列作為源更新SQL行
