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

mar*_*lyn 21 sql inner-join sql-update

我正在使用此脚本,尝试连接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
Run Code Online (Sandbox Code Playgroud)

但我遇到了:

Incorrect syntax near the keyword 'ON'.

无法弄明白为什么.

Rob*_*Day 39

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
Run Code Online (Sandbox Code Playgroud)

  • `ON`和`AND`运算符只验证相等吗?他们可以做相当于`if((T1.Brands <T2.Brands)&&(T1.Category> T2.Category))`? (4认同)

Bru*_*sta 5

你需要做

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>
Run Code Online (Sandbox Code Playgroud)

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