INSERT INTO Таблица из нескольких таблиц

Привет, у меня есть таблица Junction, связывающая две несвязанные таблицы. Обе таблицы имеют ID. Мне нужно выбрать ID из каждой таблицы, используя WHERE с различными значениями, например, вот как я это вижу:

INSERT INTO c (aID, bID)
VALUES (SELECT a.ID WHERE a.Name="Me", SELECT b.ID WHERE b.Class="Math");

Все примеры, которые я видел, используют оператор join но две таблицы имеют общее значение, в этом случае они не имеют.

Ответы

Ответ 1

Попробуйте этот запрос:

     INSERT INTO C (aID, bID) 
     SELECT A.ID, B.ID 
     FROM A, B 
     WHERE A.Name='Me'
     AND B.Class='Math';

Ответ 2

Другим способом может быть

INSERT INTO c (aID, bID)
SELECT 
   (SELECT A.id FROM TableA A WHERE A.names = 'sometext'), 
   B.id FROM TableB B 
WHERE 
   B.x_name ='othertext';

Ответ 3

Предполагая, что в каждой таблице есть только одно значение для данных Name и Class, самый простой способ - просто заключить ваши подзапросы в ():

INSERT INTO c VALUES (
(SELECT ID from a where Name='Me'),
(SELECT ID from b where Class ='Math')
)

Демо на dbfiddle