[英]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.