2012-12-17 24 views
18

Podkreślenia na poniższym obrazku pokazują logikę, którą chcę zaimplementować. Rozumiem, że składnia jest niepoprawna.MERGE - warunkowe "GDY DOPASOWANE ZAKTUALIZOWANĄ"

Czy istnieje sposób warunkowego aktualizowania rekordu w instrukcji MERGE tylko wtedy, gdy wartość jednej z jego kolumn w tabeli docelowej ma wartość NULL, a odpowiadająca jej wartość w tabeli źródłowej nie jest pusta?

Jak zasugerowałbyś ponowne napisanie tego?

enter image description here

+0

Ten kod powinien być sformatowany jako kod, a nie jako obraz – Liam

Odpowiedz

39

Możesz być w stanie wykorzystać When Matched And (s.[Created Date] Is Not Null And t.[Created Date] Is Null) Then Update ....

+3

+1 i patrz przykład B tutaj, aby uzyskać pełny przykład: http://technet.microsoft.com/en-us/library/bb510625.aspx –

+0

Dzięki dla odpowiedzi, @Laurence. –

+0

opublikowałem [następne pytanie] (http://stackoverflow.com/questions/13924973/merge-update-column-values-separately- based -on-logic-in-when-matched-block). Zrobiłem osobny wpis, więc mogłem uznać tę odpowiedź za poprawną, jak również odpowiedź na moje następne pytanie (jeśli mam szczęście, że dostałem) –