[英]Using HAVING in UPDATE with WHERE CLAUSE
我正在尝试通过将列 VAT 设置为 2 来更新表,其中列图像中有重复值
SET
VAT = 2
WHERE id >0
HAVING count(image) > 1
你可以这样做:
UPDATE applicantinfo
SET VAT = 2
WHERE image IN (
SELECT image
FROM (SELECT * FROM applicantinfo)
WHERE id > 0
GROUP BY image
HAVING COUNT(*) > 1
)
WHERE
子句中的SELECT
提供id
大于零的行的重复image
。
你可以使用这个。
对于 SQL Server
update t set t.VAT = 2 from applicantinfo as t inner join
(select Image from applicantinfo group by image having count(*)>1) as b
on t.image = b.image
从您的评论到之前的答案,我假设您使用的是 MySql。
在 MySql 中,您需要将表加入到返回重复图像的查询中:
update tablename t inner join (
select image
from tablename
where id > 0
group by image
having count(*) > 1
) i on i.image = t.image
set vat = 2;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.