如何在更新的表上使用多個聯接更新SQL Server上的表? 在MySQL中,您可以爲更新的表定義別名,但它如何與TSQL協同工作。如何在更新的表上使用多個聯接更新SQL Server上的表? (FROM FROM JOIN)
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
-
RESULT: *The table 'o' is ambiguous.*
你爲什麼會把'o'變成'o'? –
如果你有'UPDATE O1 SET parent_id = O2.ID FROM o AS O1等等等等等等,會發生什麼......'? TSQL *不允許別名出現在「UPDATE」語句中。但是我從來沒有嘗試過用別名替換它自己的名字。 – MatBailie
@NikolaMarkovinović:原文:'FROM recert.o AS o' – hoerf