首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

获取case when的值 。

2012-12-24 
获取case when的值在线等。。本帖最后由 New_sara 于 2012-11-20 10:50:53 编辑selectcase when &value 1

获取case when的值 在线等。。
本帖最后由 New_sara 于 2012-11-20 10:50:53 编辑



select 
   case when &value >=1 then 1 else 0 end as a, 
   case when &value >=2 then a + 2 else 0 end as b, 
   case when &value >=3 then b + 3 else 0 end as c
from dual  



如上中,我想在第二个case  when 里面用到 a 的值。

各位高手。。不要观望阿。。回帖告诉我吧。。。急。
[最优解释]
这样?
select 
   case when &value >=1 then 1 else 0 end as a, 
   case when &value >=2 then case when &value >=1 then 1 else 0 end + 2 else 0 end as b, 
   case when &value >=3 then case when &value >=2 then case when &value >=1 then 1 else 0 end + 2 else 0 end + 3 else 0 end as c
from dual
 
[其他解释]
select 
   case when &value <=1 then 1 else 0 end as a, 
   case when &value <=2  AND &VALUE>1 then 3 WHEN &value <=1 THEN 2 else 0 end as b, 
   case when &value <=3  AND &VALUE>2 then 6 when &VALUE>1   then 5 WHEN &value <=1 THEN  4 ELSE 0 end as c
from dual


看一下是否为这样的效果
[其他解释]
&value >=1
&value >=2
&value >=3

看着是不是有矛盾?
[其他解释]
查过百度,没查到。。

[其他解释]
分层嵌套或合并
[其他解释]
楼主的条件是否搞错了


>=1--改为<=

大于等于 改为 小于等于
[其他解释]
引用:
&amp;value >=1
&amp;value >=2
&amp;value >=3

看着是不是有矛盾?


value的值 赋3, 其实就是想让他累加成 1 + 2+ 3 。。 
[其他解释]
引用:
楼主的条件是否搞错了


>=1--改为<=

大于等于 改为 小于等于


哈哈。。一时急。。确实是 <=
[其他解释]
引用:
这样?


SQL code?



12345

select    case when &amp;value >=1 then 1 else 0 end as a,     case when &amp;value >=2 then case when &amp;value >=1 then 1 else 0 end + 2 else 0 end as b,     case……



谢谢大侠阿。果然是高手
那如果有12个 case when  这得写多少阿。
有没有其他简单点儿的阿。。
[其他解释]
&value 如果不存在小数如 1.5之类,加上是没有意义的

直接用case when &value >=2 then 3 else 0 end as b, 

热点排行