【问题标题】:Teradata merge column/parameter table.A.A does not existTeradata 合并列/参数表.A.A 不存在
【发布时间】:2016-08-22 05:12:29
【问题描述】:

我正在尝试将临时表合并到我的主表中以避免重复:

合并到 MYTABLE A 使用
    (
        选择 Y、Z、X
        FROM MYTABLE_TEMP T
        加入(从 TABLE_X 中选择 X
        WHERE COLUMN_N = '81205' GROUP BY 1) S ON S.X = T.X
    ) 乙
    开(A.Y = B.Y)和(A.X = B.X)
匹配时更新集 A.LOAD_DS = B.LOAD_DS
如果不匹配,则插入值(B.Y、B.Z、B.X、B.LOAD_DS);

我收到错误:合并失败。 3810: 列/参数“MYTABLE.A.A”不存在。

【问题讨论】:

    标签: merge teradata


    【解决方案1】:

    您不能限定SET 子句中的目标列名,UPDATE 语句存在相同的规则。

    MERGE INTO MYTABLE A USING
        (
            SELECT Y, Z, X 
            FROM MYTABLE_TEMP T
            JOIN (SELECT X FROM TABLE_X 
            WHERE COLUMN_N = '81205' GROUP BY 1) S  ON S.X = T.X
        ) B
        ON (A.Y = B.Y) AND (A.X = B.X)
    WHEN MATCHED THEN UPDATE SET /*remove the A.*/ LOAD_DS = B.LOAD_DS
    WHEN NOT MATCHED THEN INSERT VALUES (B.Y, B.Z, B.X, B.LOAD_DS );
    

    【讨论】:

      猜你喜欢
      • 2015-07-16
      • 2021-07-01
      • 2017-10-25
      • 2016-10-01
      • 2013-11-16
      • 2018-01-31
      • 1970-01-01
      • 2016-12-08
      • 2020-03-01
      相关资源
      最近更新 更多