where条件的语句是多个表

时间:2015-02-09 17:14:51

标签: sql-server where-clause

我需要我的代码根据两个条件设置列的值:同一个表中不同列的值和不同表中列的值。有没有办法使用where语句来查看不同表中的条件?

下面是伪代码,它不起作用,但捕获了我想要做的事情。

UPDATE Table1
SET CustomerStatus_2003  = 'New' 
FROM Table1, Table2
WHERE Table1.Column1 = 'New'
AND Table2.Column1 = '2003'
AND Table1.Column2= Table2.Column2

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

当您在语句中使用多个表时,应始终为表添加别名并使用JOIN。以下是一些可以满足您需求的代码

UPDATE t
SET myColumn = 'New'
FROM MyTable t
    JOIN OtherTable t2 ON t.Column = t2.Column
WHERE t.SomeCondition
    AND t2.SomeOtherCondition