我想了解一下下面的查询:SQL Server:如何在更新语句中使用别名?
UPDATE statisticsTable
SET Value = (select count(*)
FROM OtherTable o
WHERE o.UserId = UserId) <-- this is the part that concerns me
WHERE id in (1,2,3)
SQL Server如何知道第二个“用户ID”字段来自从OtherTable
statisticsTable
不? 为什么我不能给像stat这样的statisticstable别名来澄清我想要获取该UserId的位置?还是有办法?
这是正常工作?我通常会做一些事情,比如'WHERE o.UserId = statisticsTable.UserId'。 – justiceorjustus
https://stackoverflow.com/questions/4981481/how-to-write-update-sql-with-table-alias-in-sql-server-2008 –
你不能'UPDATE statisticsTable as s' 然后你的子查询中有WHERE o.UserID = s.UserId?我还没有测试过。我从来没有一个需要子查询的UPDATE。 – Cenderze