删除表中的多行,其中此数据来自postgres中的另一个select

时间:2015-10-08 02:40:21

标签: sql postgresql

我有这段代码:

SELECT movieid FROM genres WHERE genre ='Action'

这显示movieid表中与条件匹配的所有genre值。

如何从select中收集此数据以从另一个表中删除相同的movieid

不要告诉我使用DELETE ON CASCADE,因为我已经努力了,无法应用)。

2 个答案:

答案 0 :(得分:1)

如果您阅读文档:

http://www.postgresql.org/docs/current/static/sql-delete.html

您将看到示例:

DELETE FROM films
  WHERE producer_id IN (SELECT id FROM producers WHERE name = 'foo');

符合您的要求。

答案 1 :(得分:1)

试试这个:

delete from anotherTable 
        where movieid in 
             (SELECT movieid FROM genres WHERE genre ='Action')

看看这是否有帮助