【问题标题】:postgresql delete rows based on inner join of complex subqueriespostgresql 根据复杂子查询的内连接删除行
【发布时间】:2019-09-09 02:18:53
【问题描述】:

我正在尝试从两个复杂的子查询中删除匹配的行。我正在使用postgresql。这是一个示例代码:

DELETE FROM complex_subquery1 as a
USING   complex_subquery2 as b
WHERE a.column1 = b.column2

我在这里读到:PostgreSQL: delete rows returned by subquery 这实际上是不可能的。删除inner join的情况有捷径吗?

【问题讨论】:

  • 你为什么不像链接的答案那样使用 CTE 呢?

标签: sql postgresql


【解决方案1】:

正常的做法是

DELETE FROM atable
USING complex_subquery1 as a,
      complex_subquery2 as b
WHERE a.column1 = b.column2
  AND a.column3 = atable.column4;

【讨论】:

    猜你喜欢
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 2012-11-29
    • 2021-02-03
    • 2011-10-21
    • 2020-03-31
    相关资源
    最近更新 更多