Запрос на вставку в использование значений из другой таблицы - PullRequest
1 голос
/ 03 апреля 2020

У меня есть две таблицы Table1 (с полями A1 | B1 | C1) и Таблица 2 с полями A2 | B2.

Мне нужно вставить в таблицу штрихи со значениями A1 = const, B1 = const и C1 - значение A2 из таблицы2, где B2 = const

Table1

A1 | B1 | C1

Таблица 2

A2 | B2
1  | 3
2  | 3
6  | 3
4  | 6
5  | 6

После запроса, где A1 = 0, B1 = 1, B2 = 3, мы должны получить:

Table1

A1 | B1 | C1
0  | 1  | 1
0  | 1  | 2
0  | 1  | 6

Я полагаю, что это будет выглядеть так:

INSERT INTO Table1 (‘A1’,’B1’,’C1’) VALUES (0, 1, SELECT A2 FROM Table2 WHERE B2=”3”)

1 Ответ

3 голосов
/ 03 апреля 2020

Вы, похоже, ищете стандартный INSERT ... SELECT синтаксис :

INSERT INTO Table1 (A1, B1, C1) 
SELECT 0, 1, A2 FROM Table2 WHERE B2 = 3

Ваша первоначальная попытка не работает, поскольку VALUES() принимает кортежи скаляр значения (каждый кортеж представляет одну строку), в то время как запрос возвращает несколько строк .

...