“.”附近的语法不正确。虽然更新变量 table
Incorrect syntax near '.'. While Update a variable table
我在更新 table 变量时遇到问题。我已经声明了它,但是当我 运行 整个查询时我得到这个错误:
Incorrect syntax near '.'.
而且我似乎无法解决问题...
UPDATE @List
SET nrID = CASE
WHEN nrID IS NULL
THEN t1.nrID
ELSE nrID
END
FROM @List
INNER JOIN table1 t1 ON @List.PNr = t1.PNr
INNER JOIN table2 t2 ON t1.n nrPNr = t2.nrPNr
WHERE t1.PNr = t2.PNr AND t2.Isactive = 0
UPDATE List
SET List.nrID = t1.nrID
FROM @List AS List
INNER JOIN table1 t1 ON List.nrID = t1.nrID
INNER JOIN table2 t2 ON t1.nrID = t2.nrID
WHERE t1.nrID = t2.nrID AND t2.Isactive = 0
如评论中所述,内部联接将删除您的案例中的任何空值
感谢您的帮助,将我声明的@table 更改为创建@temptable,它消除了我不正确的语法错误。
至于我使用的查询(示例);
UPDATE Person
SET Car = ISNULL(@Car, Car),
HairColour = ISNULL(@HairColour, HairColour),
试试这个,
UPDATE L
SET L.nrID = ISNULL(t1.nrID, t2.nrID)
FROM @List L
INNER JOIN table1 t1 ON L.PNr = t1.PNr
INNER JOIN table2 t2 ON t1.nrPNr = t2.nrPNr
WHERE t1.PNr = t2.PNr
AND t2.Isactive = 0
我在更新 table 变量时遇到问题。我已经声明了它,但是当我 运行 整个查询时我得到这个错误:
Incorrect syntax near '.'.
而且我似乎无法解决问题...
UPDATE @List
SET nrID = CASE
WHEN nrID IS NULL
THEN t1.nrID
ELSE nrID
END
FROM @List
INNER JOIN table1 t1 ON @List.PNr = t1.PNr
INNER JOIN table2 t2 ON t1.n nrPNr = t2.nrPNr
WHERE t1.PNr = t2.PNr AND t2.Isactive = 0
UPDATE List
SET List.nrID = t1.nrID
FROM @List AS List
INNER JOIN table1 t1 ON List.nrID = t1.nrID
INNER JOIN table2 t2 ON t1.nrID = t2.nrID
WHERE t1.nrID = t2.nrID AND t2.Isactive = 0
如评论中所述,内部联接将删除您的案例中的任何空值
感谢您的帮助,将我声明的@table 更改为创建@temptable,它消除了我不正确的语法错误。
至于我使用的查询(示例);
UPDATE Person
SET Car = ISNULL(@Car, Car),
HairColour = ISNULL(@HairColour, HairColour),
试试这个,
UPDATE L
SET L.nrID = ISNULL(t1.nrID, t2.nrID)
FROM @List L
INNER JOIN table1 t1 ON L.PNr = t1.PNr
INNER JOIN table2 t2 ON t1.nrPNr = t2.nrPNr
WHERE t1.PNr = t2.PNr
AND t2.Isactive = 0