Sql 如何找出两行之间的差异

Sql 如何找出两行之间的差异,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,表1 我想找到每个id的差异GRID1-GRID2 预期产量 id no name value 001 grid1 rajan 200 001 grid2 rajan 300 002 grid1 mahesh 100 002 grid2 mahesh 200 003 grid1 jayan 200 003 grid2 jayan 50 如何查询上述条件 需要查询帮助吗 id name value 001 rajan -100 002 mahesh -100 003 jayan 150

表1

我想找到每个id的差异GRID1-GRID2

预期产量

id no name value

001 grid1 rajan 200
001 grid2 rajan 300
002 grid1 mahesh 100
002 grid2 mahesh 200
003 grid1 jayan 200
003 grid2 jayan 50
如何查询上述条件

需要查询帮助吗

id  name value

001 rajan -100
002 mahesh -100
003 jayan 150
见演示


见演示

你怎么知道mahesh应该是100-200而不是200-100?我想你错过了rajan的-100,对吗?@Grisha,永远都是grid1-grid2。你怎么知道mahesh应该是100-200而不是200-100?我想你错过了rajan的-100,对吗?@Grisha,永远都是grid1-grid2
select id, name, sum(case when no = 'grid1' then value else value*(-1) end)
from table1
group by id, name