我想知道以下查询:
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如何知道第二个“UserId”字段来自statisticsTable
而不是OtherTable
?为什么我不能给予统计表一个别名,如“stat”,以明确我想从哪里获得该UserId?或者有什么方法吗?
3条答案
按热度按时间kknvjkwl1#
SQL Server支持使用联接进行更新。
这意味着您可以这样编写查询:
pieyvz9o2#
试试这个:
xtupzzrd3#
您正在更新的数据表不允许使用别名,但您可以正常方式使用数据表名称: