原始sql
SELECT
id = vid
name = vname
class = vclass
FROM
Table
现在有3个班级
如果vclass = 1 则显示 class1 的纪录
如果vclass =2 则显示 class2 的纪录
如果vclass =3 则显示 class3 的纪录问题如果vclass =4 则显示class1和class2 的记录 class3的记录不要
请问有什么简单实用的好方法吗?
希望不要用到if,只用oracle内部函数就能实现的方法
SELECT
id = vid
name = vname
class = vclass
FROM
Table
现在有3个班级
如果vclass = 1 则显示 class1 的纪录
如果vclass =2 则显示 class2 的纪录
如果vclass =3 则显示 class3 的纪录问题如果vclass =4 则显示class1和class2 的记录 class3的记录不要
请问有什么简单实用的好方法吗?
希望不要用到if,只用oracle内部函数就能实现的方法
SELECT
id = vid
name = vname
class = vclass
FROM
Table
根本看不明白.
用过了 但是在DECODE CASE里面 class只能等于一个数 不能匹配多个数
我想应该能实现你的要求把?
where (classid = decode(vclass,4,1,vclass)
or classid = decode(vclass,4,2,null))
应该就是这样子
id = vid
name = vname
class = vclass
FROM
Table
这个。。语法看不懂啊,能这么写么
select decode("班级",
class1,
(**),
class2,
(**),
class3,
(**),
class4,
(**))
from (select class as "班级" from **);
SELECT
id = vid
name = vname
class = vclass
FROM
Table
根本看不明白.