Q:

Should I do merge here?

I have some some different items that should be copied down to different organizations. I have done this with the merge statement. I works fine one time when items not exists but next time when it should update it creates new items in every organization.
merge items as target
using
   (
   select items.name, items.value, items.org
   from Items
   ) as source
on (target.items.name = source.items.name and 
    target.items.value = '50')
when matched then
   update set target.items.name = source.items.name
when not matched by target then
Insert(...)
Values(...);

I guess it has something todo with that the condition doesn´t qualify next time either and new items creates but I don´t understand why..
Maybe it´s better to just do simple insert?

A:

Items from one organization should update items in another organization.

The merge statement does not support updating "other rows". Conceptually, it operates row-by-row. Source and target are joined (a full outer join) and for each join result you get to decide one action that happens. For update and delete that action happens to the joined target table row.
You need to use multiple statements.

