как вставить в таблицу из другой таблицы после сортировки данных первой таблицы в greenplum - PullRequest
0 голосов
/ 06 марта 2020

Я делаю что-то в greenplum:

insert into hctest.tab1
select
a::bytea,
b::varchar,
c::varchar
from hctest.ext_city2;

существующие значения в таблице tab1:

    id   |   name    | address
  -------+-----------+-----------
   10011 | John      | Serang
   10012 | Calvin    | Tangerang
   10013 | Layla     | Jakarta

значения в таблице ext_city2:

  a    |     b     |   c
-------+-----------+-----------
 10011 | John      | Serang
 10012 | Calvin    | Tangerang
 10013 | Layla     | Jakarta
 10014 | Kevin     | Bandung
 10015 | Rudy      | Bali

есть некоторая повторяющаяся строка, если я загружаю все данные от ext_city2 до tab1. Я просто хочу загрузить лишнюю строку в tab1. Как я могу это сделать?

1 Ответ

0 голосов
/ 06 марта 2020

Я думаю, что вы хотите вставить новые записи из ext_city2, которых еще нет в таблице tab1.

Попробуйте:

insert into hctest.tab1 
(
 select a::bytea,b::varchar,c::varchar  from hctest.ext_city2 ec where not exists
 (select * from hctest.tab1 tb where tb.id=ec.a::bytea)
);
...