Как вставить из двух таблиц в одну одновременно? - PullRequest
0 голосов
/ 01 ноября 2019

Итак, ребята ...

У меня сейчас две таблицы: одна называется nobooks с идентификатором 4 авторов, которые не писали книг, а другая - noauthors, с идентификатором 4 книг, которые неУ меня нет автора, и мне нужно вставить его в третью таблицу с именем authorhip, один id_author для одного id_title, я пробовал что-то вроде этого:

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

Но это не сработало, оновставил 4 id_titles для каждого id_author, и я больше не знаю, что делать, поэтому буду признателен за помощь.

Ответы [ 3 ]

0 голосов
/ 01 ноября 2019

Используйте объединение вместо обычного запроса

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

БД FIDDLE LINK https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=60fe37c15112fccec304ae079b33df2a

0 голосов
/ 01 ноября 2019

вставить в авторство (ID_Author, ID_Title) выбрать id, nobooks из объединения nobooks выбрать id, noauthors из noauthors

0 голосов
/ 01 ноября 2019

используйте 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;
...