取消
顯示的結果
而不是尋找
你的意思是:

Upsert當原點不存在,但您需要更改狀態的目標

William_Scardua
貢獻者三世

嗨,夥計們,

我有一個問題關於upsert /合並…時你會怎麼做,起源不存在,但是你需要改變狀態在目標

為例:

01/03:源數據集[id = 1和狀態=活躍];目標表(*不存在*)> >這一次插入/合並目標表中添加源記錄

02/03:源數據集[id = 1和狀態=等);目標表[id = 1和狀態=活躍]> >在這次更新插入/合並變更狀態記錄在圓盾表

03/03:源數據集[* * id = 1,它消失在來源);目標表[id = 1和狀態=禁用]> >在這次更新插入/合並沒有找到id = 1在源和目標表不能改變現狀,但我需要記錄的狀態更改為“注銷”

有什麼想法嗎?

1接受解決方案

接受的解決方案

pvignesh92
尊敬的貢獻者

嗨@William Scardua三角洲表給你選擇,你可以與源或目標表,決定可能的行動目標表。

請使用下麵的方法,讓我們知道這個符合你的要求。

——刪除所有目標行源表中沒有匹配。>並入目標使用源代碼的目標。關鍵=來源。關鍵時候不匹配源然後刪除——多個不匹配源條款條件刪除行和無與倫比的目標更新兩列對於所有其他匹配的行。>並入目標使用源代碼的目標。關鍵=來源。關鍵在源和目標相對應。marked_for_deletion然後刪除當源然後更新設置目標相對應。值=禁用

謝謝,

Vignesh

在原帖子查看解決方案

3回複3

pvignesh92
尊敬的貢獻者

嗨@William Scardua三角洲表給你選擇,你可以與源或目標表,決定可能的行動目標表。

請使用下麵的方法,讓我們知道這個符合你的要求。

——刪除所有目標行源表中沒有匹配。>並入目標使用源代碼的目標。關鍵=來源。關鍵時候不匹配源然後刪除——多個不匹配源條款條件刪除行和無與倫比的目標更新兩列對於所有其他匹配的行。>並入目標使用源代碼的目標。關鍵=來源。關鍵在源和目標相對應。marked_for_deletion然後刪除當源然後更新設置目標相對應。值=禁用

謝謝,

Vignesh

謝謝@Vigneshraja Palaniraj,

這個我需要改變我的集群的版本,但是謝謝你的男人

NandiniN
重視貢獻二世
重視貢獻二世

你好@William Scardua,

隻是增加@Vigneshraja Palaniraj答道。

參考:https://docs.m.eheci.com/sql/language-manual/delta-merge-into.html

感謝和問候,

Nandini

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map