Sql-Server

查詢將表 1 的兩列與表 2 的兩列進行比較,如果記錄匹配,則將表 1 中的第三列更新為“y”

  • March 7, 2019

我有兩個表,表 1 的列email,numberenabled表 2 的列email, number。現在我必須比較表 1 和表 2 中的列的記錄,如果兩個表中的記錄都匹配,那麼我必須將enabled表 1 中的列更新為“Y”。請幫助我進行查詢。

一種方法是

UPDATE t1
SET    t1.enabled = 'Y'
FROM   Table1 t1
WHERE  EXISTS (SELECT *
              FROM   Table2 t2
              WHERE  t1.email = t2.email
                     AND t1.number = t2.number);

或者更簡潔的替代方案

UPDATE Table1
SET    enabled = 'Y'
FROM   Table2
WHERE  Table1.email = Table2.email
      AND Table1.number = Table2.number;
UPDATE table_1 
SET table_1.fName = t2.FName, table_1.lName = t2.LName, table_1.status = "UPDATED" 
FROM table_1 AS t1 JOIN table_2 AS t2 USING (id) 
WHERE t1.fName!=t2.FName OR t1.lName!=t2.LName

引用自:https://dba.stackexchange.com/questions/175082