在进行INNER JOIN时使用SQlite删除值

前端之家收集整理的这篇文章主要介绍了在进行INNER JOIN时使用SQlite删除值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从选民表中删除所有选民,他们没有登记为民主人士或共和党人,只投票一次.我有一个包含三个表,congress_members,选民和投票的数据库,并且必须与选民加入投票才能删除正确的数据.

代码查找我要删除的数据:

SELECT voters.*
FROM voters JOIN votes ON voters.id = votes.voter_id
WHERE party = 'green' OR party = 'na' OR party = 'independent'
GROUP BY votes.voter_id
HAVING COUNT(*) = 1;

但我无法删除它,因为每次尝试使用JOIN语句删除时都会收到错误

解决方法

您可以将此短语用作带有where子句的删除
delete from voters
    where votes.party not in ('democrat','republican') and
          voters.id in (select id from votes group by id having count(*) = 1);
原文链接:https://www.f2er.com/mssql/79281.html

猜你在找的MsSQL相关文章