【发布时间】:2020-09-27 08:31:18
【问题描述】:
我正在尝试运行简单的 sql 查询:
<<-SQL.squish
WITH payloads as (
INSERT into text_payloads (text, created_at, updated_at)
SELECT text, created_at, updated_at
FROM text_messages
RETURNING id, text, created_at, updated_at
)
UPDATE text_messages
SET
payload_id = text_payloads.id,
payload_type = 'TextPayload'
WHERE
text_messages.text = text_payloads.text AND
text_messages.created_at = text_payloads.created_at AND
text_messages.updated_at = text_payloads.updated_at
SQL
但出现此错误:
PG::UndefinedTable: ERROR: missing FROM-clause entry for table "text_payloads"
LINE 1: ...d_type = 'TextPayload' WHERE text_messages.text = text_paylo...
我已经尝试添加FROM payloads 甚至LEFT OUTER JOIN text_payloads,但没有任何帮助。如何使用WITH 子查询及其结果实现此更新或类似的插入操作?
非常感谢您!
【问题讨论】:
标签: sql postgresql pg