简体   繁体   English

插入多行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM