如何将两个表同时插入一个表?

时间:2019-11-01 05:57:32

标签: mysql mysql-workbench

所以,伙计们……

我现在有两张桌子,一张叫做nobooks,其ID为4位未编写书籍的作者,另一张桌子名为noauthors,ID为4本书,没有作者,我需要插入它们在第三张名为authorship的表格中,一个id_author代表一个id_title,我尝试过这样的事情:

insert into authorship (ID_Author,ID_Title) select * from nobooks, noauthors

但是它没有用,它为每个id_author插入了4个id_titles,而且我不知道该怎么做,所以我希望获得一些帮助。

3 个答案:

答案 0 :(得分:0)

使用union从两个表中插入id, title

insert into authorship (ID_Author,ID_Title)
select t1.id, t1.title from (select id, title from nobooks
union all
select id, title from noauthors) as t1;

答案 1 :(得分:0)

使用联合代替普通查询

insert into authorship (ID_Author,ID_Title) 
select id,id from nobooks
union
select id,id from noauthors

数据库链接 https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=60fe37c15112fccec304ae079b33df2a

答案 2 :(得分:0)

插入作者身份(ID_Author,ID_Title) 选择id,nobooks中的“ nobooks” 联盟 选择ID,从无作者中选择“无作者”