合并 SQL 行并获取值

G43*_*eli 2 sql

我有一个数据视图,例如以下记录:

Num Type    Name    
------------------------
17  2       Luke    
22  1       Luke    
22  2       Sandy   
10  1       Sandy   
19  2       Tom 
19  1       Tom 
Run Code Online (Sandbox Code Playgroud)

例如,我如何组合 Sandy 的所有行并获得Num行的总数?但它应该得到Type as 运算符(1 = 加号,2 = 减号)。所以对于桑迪来说,这将是 10-22 = 总计 -12

结果表应如下所示:

 Num    Type    Name    
 ------------------------
 4      null    Luke    
 -12    null    Sandy   
 0      null    Tom 
Run Code Online (Sandbox Code Playgroud)

这在纯 SQL 中甚至可能吗?

谢谢你的帮助

Gor*_*off 5

是的,这是可能的:

select name,
       sum(case when type = 1 then num
                when type = 2
                then - num
           end) as num
from t
group by name;
Run Code Online (Sandbox Code Playgroud)

type从查询中遗漏了,因为它似乎没有用。