Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 合并TVP和x2B;更新记录时对列求和_Sql_Sql Server_Merge_Upsert_Table Valued Parameters - Fatal编程技术网

Sql 合并TVP和x2B;更新记录时对列求和

Sql 合并TVP和x2B;更新记录时对列求和,sql,sql-server,merge,upsert,table-valued-parameters,Sql,Sql Server,Merge,Upsert,Table Valued Parameters,源表 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 上述情况是否可能?使用合并语句?请尝试下面的方法 MERGE targetTable AS [pi] USING ( SELECT id,n

源表

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
上述情况是否可能?使用合并语句?

请尝试下面的方法

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)

你好,纳文,欢迎来到社区。我不确定我是否理解这个问题,“目标表”在这里是如何使用的?这更像是“按Id、名称分组,并汇总每个(Id、名称)组合的点击次数”。合并从何而来?