dbr*_*dbr 7 php mysql join multiple-tables
我有四个表(在[]列中):
users [id]
products [id]
productRatings [id,value,user,product]
comments [id,product,user]
我想选择/并最终删除productRatings,其中该产品的同一用户没有相关评论.也就是说,如果用户对产品进行了评级但未评论,则应删除该评级.
我相信我可以通过使用两个查询来实现这一点,首先:
SELECT user, product FROM productRatings
Run Code Online (Sandbox Code Playgroud)
然后为每一行:
SELECT COUNT(*) FROM comments WHERE product=productRatings.product AND user=productRatings.user
Run Code Online (Sandbox Code Playgroud)
然后像
if $queryAbove==0 : DELETE FROM productRatings WHERE id=productRatings.id
Run Code Online (Sandbox Code Playgroud)
我想通过JOIN解决这个问题,并通过示例了解更多信息,而不是通过JOIN教程.
您只需要产品评级和评论表 - 以下内容有效:
delete pr
from productratings pr
left join comments c
on pr.userid = c.userid
and pr.productid = c.productid
where c.productid is null
Run Code Online (Sandbox Code Playgroud)
这里有一个演示:http://sqlfiddle.com/#!9/89575/1