2014-09-24 47 views
0

我有2個表,我想用Table1中的行替換Table1中的行,其中客戶值與具有相同Customer的Table2中的行重複(例如B)。如何用Access中的重複值替換行?

表1:

Customer  cod 
    A   2 
    B   1 
    B   N/A 
    C   5 

表2:

Customer  cod 
    B   123 

所以結果應該是:

Customer  cod 
    A   2 
    B   123 
    C   5 

的代碼可能是這樣的:

INSERT INTO Table1 
    SELECT * 
    FROM Table2, Table1 
    WHERE Table1.Customer = Table2.Customer; 

回答

0

先插入從表2

INSERT INTO Table1 
SELECT * 
FROM Table2 t21 
WHERE (SELECT count(*) 
     FROM Table1 t12 
     WHERE t12.Customer=t21.Customer) > 1; 

想要的數據然後從表1未從表2

DELETE 
FROM Table1 t11 
WHERE ((SELECT count(*) 
     FROM Table1 t12 
     WHERE t11.Customer = t12.Customer)>1 
     AND NOT cod IN (SELECT cod 
        FROM Table2 t21 
        WHERE t11.Customer=t21.Customer)) 
     OR t11.cod IS NULL; 
+0

感謝匹配鱈魚duuplicates!但我不reallay肯定,如果它可以工作即時訪問 – Ale 2014-09-24 14:12:05

+0

請再試一次 - 我固定錯別字 – niyou 2014-09-24 14:30:19

+0

第二個查詢給我一個不幸的錯誤:數據類型不匹配的標準表達式。 – Ale 2014-09-24 14:35:46