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 
;
Другие вопросы по тегам