SQlite 删除内连接

SQlite delete inner join

我已经阅读了很多其他答案,但无法正常工作!

select * from invTypes
inner join invGroups on invtypes.groupID = invgroups.groupID
where invGroups.categoryID = 25;

如果类别 ID 与 25 匹配,我只想从 invTypes 中删除记录

非常感谢帮助

我已经试过了:

delete from invTypes
inner join invGroups on invtypes.groupID = invgroups.groupID
where invGroups.categoryID = 25;

报错: 在 "inner" 附近:语法错误:

DELETE FROM invTypes
WHERE groupID in ( SELECT groupID FROM invGroups INNER JOIN invTypes ON (invGroups.groupID = invTypes.groupID) 
WHERE invGroups.categoryID = 25);

给出: 不明确的列名称:groupID:从 invTypes 中删除 WHERE groupID in ( SELECT groupID FROM invGroups INNER JOIN invTypes ON (invGroups.categoryID = invTypes.categoryID) WHERE invGroups.categoryID = 25);

DELETE invTypes
FROM invTypes
INNER JOIN invGroups
ON invTypes.groupID = invGroups.groupID
WHERE invGroups.categoryID = 25;

您可以将 deletewhere 子句一起使用

delete from invTypes
where groupId in ( select groupId from invGroups where CategoryID =25)