INSERT INTO из нескольких источников / таблиц
У меня есть стол FinalTable
с этими столбцами:
name, lastName, pesel, position, id_operator
Я хочу заполнить мой FinalTable
со значениями из 2 других таблиц:
- AAA - в этой таблице есть столбцы, такие как name, lastName, pesel, position
- BBB - у этой таблицы есть имя столбца, id_operator, pesel
я хочу присоединиться AAA
а также BBB
на pesel
колонка
insert into FinalTable (name, lastName, pesel, position, id_operator)
select
name, lastName, pesel, position,
(select id_operator from BBB b where b.pesel = a.pesel)
from
AAA a;
Как это сделать? Я хотел бы установить мой последний столбец id_operator
к значению от BBB
, Вышеуказанный SQL-запрос неверен.
4 ответа
Решение
Я бы вставил запрос на соединение:
INSERT INTO FinalTable (name, lastName, pesel, position, id_operator)
SELECT a.name, a.lastName, a.pesel, a.position, b.id_operator
FROM AAA a
JOIN BBB b ON pesel = a.pesel;
insert into FinalTable (name, lastName, pesel, position, id_operator)
select name, lastName, pesel, position, id_operator from AAA a join BBB b on a.pesel=b.pesel;
Использование join
между двумя столами
insert into FinalTable (name, lastName, pesel, position, id_operator)
select name, lastName, pesel, position, id_operator
from AAA a join BBB b on b.pesel = a.pesel
Вы можете использовать внутреннее соединение
insert into FinalTable (name, lastName, pesel, position, id_operator)
select a.name, a.lastName, a.pesel, a.position, b.id_operator
from AAA a
INNER JOIN BBB b ON b.pesel = a.pesel
;