Sql 如何使用WITH查询插入到表中,并将返回的id插入到另一个表中?
如果表2中只存在“value”,我将尝试在名为table1的表中插入一行。新创建的行返回一个id,我希望通过WITH查询使用该id,并将其插入第三个名为table3的表中 下面是我使用的sql语句Sql 如何使用WITH查询插入到表中,并将返回的id插入到另一个表中?,sql,postgresql,Sql,Postgresql,如果表2中只存在“value”,我将尝试在名为table1的表中插入一行。新创建的行返回一个id,我希望通过WITH查询使用该id,并将其插入第三个名为table3的表中 下面是我使用的sql语句 使用新的_键作为( 插入表1(名称、值) 选择“测试”,然后选择值 来自表2 其中value='some_value' 返回id ) 插入表3(表1\u id) 值(新的_键); WITH查询中的INSERT查询工作并返回一个id。不幸的是,整个语句返回“new_key column not EXI
使用新的_键作为(
插入表1(名称、值)
选择“测试”,然后选择值
来自表2
其中value='some_value'
返回id
)
插入表3(表1\u id)
值(新的_键);
WITH查询中的INSERT查询工作并返回一个id。不幸的是,整个语句返回“new_key column not EXISTING”。您需要从CTE中选择值:
WITH new_key AS (
INSERT INTO table1(name, value)
SELECT 'test', value
FROM table2
WHERE value = 'some_value'
RETURNING id
)
INSERT INTO table3(table1_id)
SELECT id
FROM new_key;
插入不返回“值”。。你需要插入..选择这正是我不理解的。非常感谢。