【发布时间】:2014-06-17 01:51:31
【问题描述】:
我正在尝试在 PostgreSQL 8.0 中编写以下 MySQL 查询(特别是使用 Redshift):
DELETE t1 FROM table t1
LEFT JOIN table t2 ON (
t1.field = t2.field AND
t1.field2 = t2.field2
)
WHERE t1.field > 0
PostgreSQL 8.0 不支持DELETE FROM table USING。 docs 中的示例说您可以在 where 子句中引用其他表中的列,但这在这里不起作用,因为我正在加入我要从中删除的同一张表上。另一个示例是子选择查询,但我正在使用的表的主键有四列,所以我也看不到让它工作的方法。
【问题讨论】:
-
您看到了什么错误/结果。我看到您的查询似乎有问题的第一件事是它应该是“DELETE FROM”(删除“t1”)
-
是的,这是一个 mysql 查询,我不希望它只在 postgresql 中工作。我根本无法在 Postgresql 8.0 中找到等价物。删除的语法非常简单。
-
顺便说一句:
table是什么?关键字? -
您确定 MySQL 查询正在执行您想要的操作吗?
LEFT JOIN似乎完全没用。 -
您应该描述查询的确切目的。损坏的 MySQL 查询并没有解决问题。
标签: sql amazon-redshift delete-row