根据Redshift中其他表的条目在表中插入值

问题描述 投票:0回答:1

我在AWS Redshift中有两个表,需要根据另一个表的条目将一些值插入到一个表中。我想知道是否可以使用AWS GLUE作业完成任务,如果可以,那是个好主意吗?还是应该使用Redshift中的query-editor / sqlworkbench来完成任务。

  • 表1具有以下架构:
Person(id,firstName,Lastname)
  • 表2具有以下架构
Selection(perId,check)
  • 如果“人员”表的firstNamelastName的串联位于['fullName1', 'fullName2',..]中,则在选择表中插入1,否则将0以及相应的人员id插入。

示例

  • 列表值为:['JohnLuie' , 'FranklinWatson']

    人桌

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

最初,选择表为空。因此,在检查人员表上的条件之后,如果

  • [(Person.firstName+ Person.lastName) in ['JohnLuie' , 'FranklinWatson]然后在Selection.perId中输入person.id,然后在Selection.check中插入1或0

因此,执行任务后,选择表将如下所示:

选择

    PerId      |     check
     04        |        1
     09        |        0

我想知道是否可以通过运行aws-glue作业来执行以下任务。这两个表都处于redshift。

sql amazon-web-services amazon-redshift aws-glue
1个回答
0
投票

您可以只在SQL查询中执行此操作,例如:

INSERT INTO Selection
(
    SELECT
      Id,
      CASE WHEN firstName || lastName IN ['JohnLuie' , 'FranklinWatson] THEN 1 ELSE 0 END
    FROM person
)
© www.soinside.com 2019 - 2024. All rights reserved.