2012-12-17 7 views
18

Die Highlights in der folgenden Abbildung zeigt die Logik, die ich implementieren möchte. Ich weiß, dass die Syntax falsch ist.MERGE - bedingte "When Matched Then UPDATE"

Gibt es eine Möglichkeit, einen Datensatz in einer MERGE-Anweisung nur bedingt zu aktualisieren, wenn der Wert einer seiner Spalten in der Zieltabelle NULL ist und der entsprechende Wert in der Quellentabelle nicht null ist?

Wie würden Sie vorschlagen, dies neu zu schreiben?

enter image description here

+0

Dieser Code sollte als Code formatiert werden, nicht als Bild – Liam

Antwort

39

Sie könnten in der Lage sein When Matched And (s.[Created Date] Is Not Null And t.[Created Date] Is Null) Then Update ... zu verwenden.

+3

+1, und siehe Beispiel B hier für ein vollständiges Beispiel: http://technet.microsoft.com/en-us/library/bb510625.aspx –

+0

Danke für die Antwort, @Laurence. –

+0

Ich habe eine [Follow-up-Frage] (http://stackoverflow.com/questions/13924973/merge-update-column-values-separate-based-on-logic-in-when-matched-block) gepostet. Ich habe einen separaten Beitrag geschrieben, damit ich diese Antwort als richtig anerkennen kann, sowie eine Antwort auf meine nächste Frage (wenn ich das Glück habe, eine zu bekommen) –

Verwandte Themen