【发布时间】:2018-06-05 08:00:52
【问题描述】:
我想将数据插入到表中,其中一列由选择查询填充。这是我的 SQL 语句:
INSERT INTO books ( gid, type, membernumber, changedate, user)
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',
'mark'
);
我想要实现的是对于每个插入,membernumber 将取自 mem 表,基于 JOIN 与 group 表。
当我执行这个语句时,我得到了错误:
用作表达式的子查询返回多行
例如,如果连接将产生 20 行,则将插入 20 条记录,每个 member 值替换插入中的 membernumber 20 行。
更新
我还有另一个查询,其中两列必须用 SELECT-JOIN 语句替换。 @Tim 给了我一个专栏的例子。我想要一个用两个 SELECT-JOIN 语句填充两列的示例。
【问题讨论】:
标签: mysql sql postgresql