大家看这个结果查怎么出来啊?

xzzxg 2003-06-20 07:46:33
有这样一张表
name item value
a - 3
a + 5
a + 2
a 1 2

怎么查出这种结果啊?
name value
a 2
也就是所有+的减去所有-的。
...全文
21 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjb111 2003-06-20
  • 打赏
  • 举报
回复
select name,sum(cast(item+value as int)) from yourtable group by name
xzzxg 2003-06-20
  • 打赏
  • 举报
回复
嗯不错, 解决了 。 多谢。

wynbfqny 2003-06-20
  • 打赏
  • 举报
回复
select name ,sum(value) from( select name,value from aaa where item='+' uoion all select name,-(value) from aaa where itim='-') group by name
zjcxc 元老 2003-06-20
  • 打赏
  • 举报
回复
用这个就可以了
begin tran
create table tb(name varchar(10),item varchar(1),value int)
insert into tb(name,item,value)
values('a','-',3)
insert into tb(name,item,value)
values('a','+',5)
insert into tb(name,item,value)
values('a','+',2)
insert into tb(name,item,value)
values('a','-',2)

--就是这一句
select name,sum(cast(item+'1' as int)*value) as value
from tb
group by name

rollback tran
xzzxg 2003-06-20
  • 打赏
  • 举报
回复
表的最后一行打错了,item 就是-

item * value 能行吗? item 是字符啊?
klbt 2003-06-20
  • 打赏
  • 举报
回复
select name, sum(item * value)
from t_aaa
where name='a'
group name

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧