Вставить значения в таблицу на основе записей другой таблицы в Redshift - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть две таблицы в AWS Redshift, и мне нужно вставить некоторые значения в одну таблицу на основе записей другой. Я хочу знать, возможно ли выполнить sh задачу, используя AWS GLUE, и если да, будет ли это хорошей идеей? Или я должен использовать query-editor / sqlworkbench в Redshift для выполнения sh задачи.

  • Таблица 1 имеет следующую схему:
Person(id,firstName,Lastname)
  • Таблица 2 имеет следующую схему
Selection(perId,check)
  • Если объединение firstName и lastName таблицы Person находится в ['fullName1', 'fullName2',..], тогда вставьте 1 в таблицу выбора, иначе 0 с соответствующим идентификатором лица.

Пример

  • значения списка: ['JohnLuie' , 'FranklinWatson']

    таблица персоны

    Id   |        Firstname           |   lastName   
    04   |           John             |           Luie
    09   |           Ben              |         Johnson

Изначально таблица выбора пуста. Таким образом, после проверки с условием в таблице персон. То есть, если

  • (Person.firstName+ Person.lastName) in ['JohnLuie' , 'FranklinWatson], вставьте 1 или 0 в Selection.check с person.id в Selection.perId

Поэтому после выполнения задачи таблица выбора будет выглядеть так:

Выбор

    PerId      |     check
     04        |        1
     09        |        0

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

1 Ответ

1 голос
/ 09 февраля 2020

Вы можете просто сделать это в запросе SQL, например:

INSERT INTO Selection
(
    SELECT
      Id,
      CASE WHEN firstName || lastName IN ['JohnLuie' , 'FranklinWatson] THEN 1 ELSE 0 END
    FROM person
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...