我的问题是我想从两个表中删除记录,删除是以下查询的结果的记录:删除记录/哪里存在问题
SELECT AVG(pr.rating) AS rating_average
FROM products p
INNER JOIN product_ratings pr
ON pr.product_id = p.product_id
GROUP BY p.product_id
HAVING AVG(pr.rating) < 3
以上查询显示的平均收视率小于3的产品,我想从上述查询中删除所有结果的产品及其关联评级。
我看着DELETE FROM product_ratings, products WHERE EXISTS (//above query)
,但这并没有工作,我一直在尝试各种DELETE语句无济于事。
我已阅读以下内容,但仍无法找到解决方案:SQL: DELETE Statement & SQL: EXISTS Condition。
表是products
和product_ratings
,具有以下结构:
products
--------
product_id [PK] | link | ...
product_ratings
---------------
rating_id [PK] | rating | product_id
得到任何帮助,以及参考资料的链接,以更好地了解它是如何做。
编辑:不说明我使用,这是MySQL的
什么RDBMS道歉EDIT2:现在有点糊涂了,@马丁的例子不使用临时表像其他的答案,我想这是因为我的模糊问题没有用我使用的RDBMS进行陈述?
您使用的是什么RDBMS? – 2011-02-18 20:33:12