SQL内部连接具有多个列条件和更新的2个表

时间:2010-07-01 08:45:31

标签: sql sql-update inner-join

我正在使用此脚本,尝试连接2个表,其中包含3个条件并更新T1:

Update T1 set T1.Inci = T2.Inci 
ON T1.Brands = T2.Brands 
AND T1.Category= T2.Category
AND T1.Date = T2.Date

但我遇到了:

Incorrect syntax near the keyword 'ON'

无法弄明白为什么。

4 个答案:

答案 0 :(得分:35)

UPDATE
    T1
SET
    T1.Inci = T2.Inci 
FROM
    T1
INNER JOIN
    T2
ON
    T1.Brands = T2.Brands
AND
    T1.Category= T2.Category
AND
    T1.Date = T2.Date

答案 1 :(得分:4)

你需要做

Update table_xpto
set column_xpto = x.xpto_New
    ,column2 = x.column2New
from table_xpto xpto
   inner join table_xptoNew xptoNew ON xpto.bla = xptoNew.Bla
where <clause where>

如果您需要更好的答案,可以向我们提供更多信息:)

答案 2 :(得分:3)

UPDATE T1,T2 
INNER JOIN T1 ON  T1.Brands = T2.Brands
SET 
T1.Inci = T2.Inci
WHERE
    T1.Category= T2.Category
AND
    T1.Date = T2.Date

答案 3 :(得分:0)

您应该使用sql join连接T1和T2表,以便从两个表进行分析。学习加入链接:https://www.w3schools.com/sql/sql_join.asp