@frmax
человек

Как сравнить 2 таблицы и вывести id который нет во второй талице?

Добрый день, есть 2 таблицы

test1
id
name

test2
id
test_id
type
name_test2


Мне нужно узнать каких test.id нет в test2.test_id, если такие есть добавить
2 строки по каждому ненайденному id в первой строчке type = 1 во второй type=2. Что-то никак не получается, спасибо за помощь
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
insert into test2 (test_id, type)
select test.id, type_value from test1 
join (
select 1 as type_value
union all
select 2
) as types ON TRUE -- нужно декартово произведение
where not exists (select 1 from test2 where test2.test_id = test.id)


Если mysql древний, то, возможно, эффективнее будет test left join test2 on test2.test_id = test.id where test2.test_id is null
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы