2015-05-20 33 views
0
UPDATE Table1 
    SET [Marks] = 
     (
     SELECT 
     CASE STATEMENTS 
     FROM Table2 T2 
    WHERE Table1.ID = T2.ID)    
     ) 

上面的UPDATE語句工作正常,但是如果ID不匹配,那麼它會爲'Marks'插入NULL值。 但是,如果Table1和Table2 ID不匹配,我想保留表1中標記的原始值。 如何在我的代碼中實現該功能。Sql UPATE在WHERE子句中有多個條件

我也嘗試使用WHERE EXISTS但仍然沒有運氣。我不知道它的確切用途是什麼。

任何幫助非常感謝。

回答

0
UPDATE Table1 
SET [Marks] = 
     (
     SELECT 
      CASE STATEMENTS 
     FROM Table2 T2 
     WHERE Table1.ID = T2.ID)    
    ) 
WHERE id IN (SELECT id FROM table2) 
+0

@ Yasser El-Alaily:哇!它是完美的。你是明星。非常感謝。 – NatureTech

+0

謝謝@Marc_s。那正是我所做的。 – NatureTech