MERGE TVP + сумма столбца при обновлении записи - PullRequest
0 голосов
/ 19 октября 2018

Исходная таблица

Id, Name, hits
1   A     10    
1   A     20
1   A     30
2   A     10

Целевая таблица

Id, Name, hits
1   A     NULL

После слияния

Id, Name, hits
1   A     60
2   A     10

возможно ли вышеуказанное?используя оператор слияния?

1 Ответ

0 голосов
/ 19 октября 2018

Попробуйте ниже

MERGE     targetTable AS [pi]
USING     ( 
               SELECT id,name,sum(hits) as hits from sourcetable
               GROUP BY id,name
          ) AS src (id,name,hits) ON src.id= [pi].id and scr.name=pi.name
WHEN      MATCHED 
               THEN UPDATE SET [pi].hits= src.hits
WHEN      NOT MATCHED 
               THEN INSERT values (src.id, src.name,hits)
...