Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我尝试运行下面的查询时,我得到“您不能在 FROM 子句中指定目标表 'list' 进行更新”
我知道实际上还有很多其他关于类似问题的回复,但我对 SQL 的掌握并不强,无法从其他人的解决方案中重建它。
update list set li = '6' where li = '5 and dn in ( SELECT dn FROM list GROUP BY dn HAVING COUNT(*) < 2000 )
你收到这个错误了吗?
您不能在 FROM 子句中指定目标表“列表”进行更新
这是因为如果您在另一个子选择语句中使用它,则无法直接更新该表。一种替代方法是将表与自身连接起来。
UPDATE list a INNER JOIN ( SELECT dn FROM list GROUP BY dn HAVING COUNT(*) < 2000 ) b ON a.dn = b.dn SET a.li = '6' WHERE a.li = '5