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 展开
a b
1 3
2 1
6 1
4 4
想返回一个结果 如果a>b a-b 如果a<b b-a
返回的结果是他们中间的差
结果如下
2
1
5
0
返回的结果中显示他的字段id 展开
5个回答
展开全部
楼上的是借助函数的方式,如果不是oracle,或者没有此函数可以通过case when实现。
select case when a > b then a-b else b-a end 结果 from 表名;
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了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select 字段1,字段2,(case when a>b then a-b else b-a end) as 结果
from [表名]
字段1,字段2就是你想返回的其它字段,你根据自己的需要返回。如果有其它字段也一样
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就是你想返回的其它字段,你根据自己的需要返回。如果有其它字段也一样
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你描述的不对,看不懂你要的结果,上面说是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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的描述总结起来不就是取ab中最小值。。。
select case when a > b then b else a end from table
select case when a > b then b else a end from table
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么数据库啊?
相应的数据库可以查询一下取绝对值函数
oracle是这样的
Select abs(a-b) From tab2
相应的数据库可以查询一下取绝对值函数
oracle是这样的
Select abs(a-b) From tab2
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询