Ali*_*eza 6 postgresql join delete select
我有两个疑问:
第一个如下:
SELECT *
FROM batch bp
INNER JOIN sender_log sl ON sl.id=bp.log_id
AND bp.protocol='someprotocol'
Run Code Online (Sandbox Code Playgroud)
第二个查询用于删除行:
delete from batch where protocol='someprotocol'
Run Code Online (Sandbox Code Playgroud)
我知道在 postgres 中我们有RETURNING *来返回已删除的行。我想要实现的是删除行并在一个查询中返回它们。我怎样才能做到这一点?
Erw*_*ter 13
确实非常简单,但您还需要包含另一个WHERE
子句:
DELETE FROM batch bp
USING sender_log sl
WHERE bp.log_id = sl.id
AND bp.protocol = 'someprotocol'
RETURNING bp.*, sl.*;
Run Code Online (Sandbox Code Playgroud)
并且要实际返回您的问题概述的内容,您需要在RETURNING
子句中包含两个表。
归档时间: |
|
查看次数: |
19045 次 |
最近记录: |