point表
POINT TYPE
3 1
4 2
2 1
4 1
1 2
3 1
我想查询时,把type=2 的字段对应的point都加个负号。我想对point求和sum(point)
显示这样的结果
POINT TYPE
3 1
-4 2
2 1
4 1
-1 2
3 1
要怎么写呢?如有解答,不胜感激!
------解决方案--------------------
- SQL code
--> 测试数据:[point]if object_id('[point]') is not null drop table [point]create table [point]([POINT] int,[TYPE] int)insert [point]select 3,1 union allselect 4,2 union allselect 2,1 union allselect 4,1 union allselect 1,2 union allselect 3,1select case when [type]=2 then -[POINT] else [POINT] end as [POINT],[TYPE] from [point]/*POINT TYPE3 1-4 22 14 1-1 23 1*/--求和:select [TYPE],sum(case when [type]=2 then -[POINT] else [POINT] end) as [POINT] from [point] group by [TYPE] /* TYPE POINT1 122 -5 */
------解决方案--------------------
- SQL code
--求和:select sum(case when [type]=2 then -[POINT] else [POINT] end) as [POINT] from [point] /*POINT7*/