sql语句查询的问题

ab2个字段ab13216144想返回一个结果如果a>ba-b如果a<bb-a返回的结果是他们中间的差结果如下2150返回的结果中显示他的字段id... a b 2个字段
a b
1 3
2 1
6 1
4 4
想返回一个结果 如果a>b a-b 如果a<b b-a
返回的结果是他们中间的差
结果如下
2
1
5
0
返回的结果中显示他的字段id
展开
 我来答
流浪云风
2012-09-04 · TA获得超过4315个赞
知道大有可为答主
回答量:1119
采纳率:69%
帮助的人:919万
展开全部
楼上的是借助函数的方式,如果不是oracle,或者没有此函数可以通过case when实现。
select case when a > b then a-b else b-a end 结果 from 表名;
更多追问追答
追问
这样是可以的  还不完整 

我需要的这个加减是对碰出来的数值

就是 如果 1 2 则他们共同拥有1

如果是 1 0 也返回0

如果是0 2 也返回0

如果是 5 6 返回5
追答
没明白你说的对碰是什么意思。
“1 2 则他们共同拥有1”是什么意思?哪里看出共同拥有1了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanxiao410
2012-09-04 · TA获得超过1583个赞
知道小有建树答主
回答量:928
采纳率:0%
帮助的人:548万
展开全部
select 字段1,字段2,(case when a>b then a-b else b-a end) as 结果
from [表名]
字段1,字段2就是你想返回的其它字段,你根据自己的需要返回。如果有其它字段也一样
追问
还有个小问题

我意思是 能返回同时减去的数值吗

比如 我有5个兵 你有3个 咱俩对碰 那就剩2个 对碰掉3个 返回数字3
或者我有4个兵 你有9个 就剩5个 同时减去的是4 返回数字4
追答
select 字段1,字段2,(case when a>b then a-b else b-a end) as 结果
,(case when a>b then b else a end) as 返回数
from [表名]
字段1,字段2就是你想返回的其它字段,你根据自己的需要返回。如果有其它字段也一样
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxr_303
2012-09-04 · TA获得超过473个赞
知道小有建树答主
回答量:875
采纳率:0%
帮助的人:508万
展开全部
你描述的不对,看不懂你要的结果,上面说是a<b 则b-a,然后有出来一个5 6 返回5,根本没规律。
更多追问追答
追问
对的  如果ab  a-b
这的前提条件是 a b 都不为0
我要的结果是他们同时减掉的值
比如 1 3 他们同时减掉的是1
如果是4 2 同时减掉的是2
如果是 5 3 同时减掉的3
就是减掉之后有一方为0 然后减掉的值返回出来
如果是0 就不要减了
追答
好晕,本来以为是取ab中小的值,看到你补充答案的 1 3 取2我又晕了,既然是取最小的应该是1才对,你怎么答案给个2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2012-09-04 · TA获得超过6725个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5087万
展开全部
你的描述总结起来不就是取ab中最小值。。。

select case when a > b then b else a end from table
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hu0829
2012-09-04 · TA获得超过2937个赞
知道大有可为答主
回答量:2251
采纳率:50%
帮助的人:2307万
展开全部
什么数据库啊?
相应的数据库可以查询一下取绝对值函数
oracle是这样的

Select abs(a-b) From tab2
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式