[英]Inserting multiple rows
I am trying to populate multiple rows of a table with values from another table and I'm a bit stuck. 我试图用另一个表中的值填充一个表的多行,但我有点卡住了。 This is what I have so far.
到目前为止,这就是我所拥有的。
SELECT radocs_id FROM radocs ORDER BY radocs_id DESC LIMIT 1,
SELECT crew_id FROM crew,
INSERT INTO signed (radocs_id, crew_id) Values ('radocs_id', 'crew_id');
SELECT radocs_id FROM radocs ORDER BY radocs_id DESC LIMIT 1,
(returns a single entry as expected) SELECT radocs_id FROM radocs ORDER BY radocs_id DESC LIMIT 1,
(按预期返回单个条目)
SELECT crew_id FROM crew,
(returns multiple entries as expected) SELECT crew_id FROM crew,
(按预期返回多个条目)
I want to create an entries in the table called 'signed' for every individual 'crew_id' with the unique 'radocs_id' but INSERT INTO signed (radocs_id, crew_id) Values ('radocs_id', 'crew_id')
doesn't work. 我想为具有唯一的“ radocs_id”的每个单独“ crew_id”在名为“ signed”的表中创建一个条目,但不能
INSERT INTO signed (radocs_id, crew_id) Values ('radocs_id', 'crew_id')
。
What am I doing wrong or is this the wrong way to go about this? 我在做错什么,或者这是做这件事的错误方法?
Any help would be greatly appreciated. 任何帮助将不胜感激。
Try this: 尝试这个:
INSERT INTO signed
(SELECT crew_id,(select radocs_id FROM radocs
ORDER BY radocs_id DESC LIMIT 1)
FROM crew)
This is the query that gets the rows you want: 这是获取所需行的查询:
SELECT r.radocs_id, c.crew_id
FROM (SELECT radocs_id
FROM radocs
ORDER BY radocs_id DES
LIMIT 1
) r CROSS JOIN
crews c;
Then the insert is: 然后插入是:
INSERT INTO signed(radocs_id, crew_id)
SELECT r.radocs_id, c.crew_id
FROM (SELECT radocs_id
FROM radocs
ORDER BY radocs_id DES
LIMIT 1
) r CROSS JOIN
crews c;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.