我有两个表:Master 和 Source。 两个表都有 3 列。 它们是 ID、项目描述和标价。 “源”表在项目描述中有一些空值。

我想要做的是将源表合并到主表中。 但是,如果源表中的描述字段为空,则不要更改主表中的描述。

有没有更好的方法来重写这个? 看起来有点重复。这是我的尝试。

    Breakdown:
    1) When matched and if description in source is null, only update id 
       and price
    2) When matched update
    3) Insert into Master table if Source table has new ids



MERGE INTO MASTER AS MS
USING       SOURCE AS SRC
ON        (MS.id = SRC.id)
WHEN MATCHED AND SRC.item_deSRC is NULL THEN
UPDATE SET MS.id = SRC.id
           MS.List_Price = SRC.List_Price
WHEN MATCHED THEN
UPDATE SET MS.id = SRC.id
,          MS.Description = SRC.Description
,          MS.List_Price = SRC.List_Price
WHEN NOT MATCHED THEN
INSERT VALUES(MS.id, MS.description, MS.List_Price)

===============>>#1 票数:3 已采纳

我有两个表:Master 和 Source。 两个表都有 3 列。 它们是 ID、项目描述和标价。 “源”表在项目描述中有一些空值。

我想要做的是将源表合并到主表中。 但是,如果源表中的描述字段为空,则不要更改主表中的描述。

有没有更好的方法来重写这个? 看起来有点重复。这是我的尝试。

    Breakdown:
    1) When matched and if description in source is null, only update id 
       and price
    2) When matched update
    3) Insert into Master table if Source table has new ids



MERGE INTO MASTER AS MS
USING       SOURCE AS SRC
ON        (MS.id = SRC.id)
WHEN MATCHED AND SRC.item_deSRC is NULL THEN
UPDATE SET MS.id = SRC.id
           MS.List_Price = SRC.List_Price
WHEN MATCHED THEN
UPDATE SET MS.id = SRC.id
,          MS.Description = SRC.Description
,          MS.List_Price = SRC.List_Price
WHEN NOT MATCHED THEN
INSERT VALUES(MS.id, MS.description, MS.List_Price)

===============>>#2 票数:0

我有两个表:Master 和 Source。 两个表都有 3 列。 它们是 ID、项目描述和标价。 “源”表在项目描述中有一些空值。

我想要做的是将源表合并到主表中。 但是,如果源表中的描述字段为空,则不要更改主表中的描述。

有没有更好的方法来重写这个? 看起来有点重复。这是我的尝试。

    Breakdown:
    1) When matched and if description in source is null, only update id 
       and price
    2) When matched update
    3) Insert into Master table if Source table has new ids



MERGE INTO MASTER AS MS
USING       SOURCE AS SRC
ON        (MS.id = SRC.id)
WHEN MATCHED AND SRC.item_deSRC is NULL THEN
UPDATE SET MS.id = SRC.id
           MS.List_Price = SRC.List_Price
WHEN MATCHED THEN
UPDATE SET MS.id = SRC.id
,          MS.Description = SRC.Description
,          MS.List_Price = SRC.List_Price
WHEN NOT MATCHED THEN
INSERT VALUES(MS.id, MS.description, MS.List_Price)

  ask by Le_RedditUser translate from so

未解决问题?本站智能推荐: