Sql 使用多个Select和Join语句向表中插入多个数据
这是我上一个问题的后续问题 我想将数据插入表中,其中三列由select join查询填充。这是我的sql语句::Sql 使用多个Select和Join语句向表中插入多个数据,sql,postgresql,sql-insert,Sql,Postgresql,Sql Insert,这是我上一个问题的后续问题 我想将数据插入表中,其中三列由select join查询填充。这是我的sql语句:: INSERT INTO books ( gid, type, membernumber, changedate, order, user, task) VALUES( '2b4493e8-cae8-4624-8177-fcc96553c5be', 2, (SELECT member FROM mem m JOIN group g ON m
INSERT INTO books ( gid, type, membernumber, changedate, order, user, task)
VALUES( '2b4493e8-cae8-4624-8177-fcc96553c5be',
2,
(SELECT member FROM mem m JOIN group g ON m.uid = g.sgroup),
TIMESTAMP '2017-01-03 00:00:00.000',
(SELECT order FROM orders o JOIN items i ON o.id = i.id),
'mark',
(SELECT task FROM tasks t JOIN lists l ON t.id = l.id),
);
我想要实现的是,对于每个insert,membernumber、order和task将从mem、order和tasks表中获取,并基于它与各自的连接表的连接 标记您正在使用的特定数据库表
成员
、订单
和任务
之间的关系如何?如果您可以构建一个从这些表返回所需行的查询,那么您可以轻松地将其用作insert语句的源(而不是values
子句)@a\u这只是一个示例。这种关系并不重要。我只需要正确的语法。关系很重要。只有当您能够创建一个返回要插入的信息的查询时,才能正确地执行此操作。如图所示,您的查询毫无意义。您正在插入一行,但正在从那些“相关”表中检索多行,并且您正在尝试将多行的列值放入一行的一列中。@a\u horse\u带有\u no\u名称,如我所说,上面的代码只是一个示例。在真实的代码中存在关系。假设上述代码中存在关系,正确的语法是什么?我正在寻找正确的语法