Ответ 1
Попробуйте этот запрос:
INSERT INTO C (aID, bID)
SELECT A.ID, B.ID
FROM A, B
WHERE A.Name='Me'
AND B.Class='Math';
Привет, у меня есть таблица 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
но две таблицы имеют общее значение, в этом случае они не имеют.
Попробуйте этот запрос:
INSERT INTO C (aID, bID)
SELECT A.ID, B.ID
FROM A, B
WHERE A.Name='Me'
AND B.Class='Math';
Другим способом может быть
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';
Предполагая, что в каждой таблице есть только одно значение для данных Name
и Class
, самый простой способ - просто заключить ваши подзапросы в ()
:
INSERT INTO c VALUES (
(SELECT ID from a where Name='Me'),
(SELECT ID from b where Class ='Math')
)