hoe*_*erf 3 sql sql-server sql-update
如何在更新的表上使用多个连接更新SQL Server上的表?在MySQL中,您可以为更新的表定义别名,但它如何与TSQL一起使用.
UPDATE recert.ou --#1-- In MSSQL/TSQL no alias allowed
SET parent_id = o2.ID
FROM recert.ou as O
JOIN recert.country C ON C.ID = O.country_id
JOIN recert.ou P ON O.parent_id = P.ID and p.country_id <> O.country_id
JOIN recert.ou o2 on o2.name = p.name and c.ID = o2.country_id
JOIN recert.country as c2 on c2.ID = o2.country_id
WHERE O.ID = o2.ID
Run Code Online (Sandbox Code Playgroud)
-
RESULT: *The table 'o' is ambiguous.*
Run Code Online (Sandbox Code Playgroud)
UPDATE o
SET parent_id = o2.ID
FROM recert O
JOIN c C ON C.ID = O.country_id
JOIN recert P ON O.parent_id = P.ID and p.country_id <> O.country_id
JOIN recert o2 on o2.name = p.name and c.ID = o2.country_id
JOIN c c2 on c2.ID = o2.country_id
WHERE O.ID = o2.ID
Run Code Online (Sandbox Code Playgroud)
我想问题出现了,因为你试图重新别名别名,但我不确定.