当我尝试运行下面的查询时,我得到了#34;您无法指定目标表' list'用于FROM子句"
的更新我知道实际上还有很多关于类似问题的回复,但我对SQL的掌握并不强大,以至于无法从别人的解决方案中重构它。
update list
set li = '6'
where li = '5
and dn in ( SELECT dn FROM list GROUP BY dn HAVING COUNT(*) < 2000 )
答案 0 :(得分:2)
您收到此错误吗?
您无法在FROM子句
中为更新指定目标表'list'
这是因为如果您在另一个subselect语句中使用它,则无法直接更新表。另一种选择是将表格与自己联系起来。
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