繁体   English   中英

SQL DELETE LEFT JOIN查询

[英]SQL DELETE LEFT JOIN query

我的查询是:

DELETE p,p2,r 
FROM Profiles p
LEFT JOIN Pics p2 ON p.ID=p2.ProfileID
LEFT JOIN Food f ON p.ID=f.ProfileID
WHERE p.ID = 46

此查询将删除用户的个人资料,“图片”表中的所有图片以及食品表中的所有匹配的个人资料ID。 这会让我在个人资料表中的ID 47,48在食物表中的ID在66,67在食物表中ID在30,31,32,34

但我希望它也删除Pics.ID ProfileID为46的所有行,因此Pics.ID为64和65。这两个ID要从“食物”表中删除。 这将是Food.ID 30和32,只剩下:Food表中的ID 31、34

资料表:

ID Gender
46 male
47 female
48 female

图片表:

ID ProfileID Position
64 46        1 
65 46        2
66 47        1
67 48        1

食物表:

ID PicID ProfileID
30 64    47
31 66    48
32 65    47
33 67    46
34 67    47

我想这就是你想要的

DELETE p,p2,f,f2 
FROM Profiles p
LEFT JOIN Pics p2 ON p.ID=p2.ProfileID
LEFT JOIN Food f ON p.ID=f.ProfileID
LEFT JOIN Food f2 ON p2.ID=f2.PicID
WHERE p.ID = 46

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM