有表TABLE,A,B,C三列。查询该表数据,当A列大于B列时选择显示B列,如果C列大于B列时,选择显示C列。
应该要用到 CASE WHEN吧。。有点头疼了。老是说我少些个参数。
还是 很简单的 ,但是现在电脑没装数据库 写不出来
没说清楚,是ORACLE下的语句。好像不能用 case when。我不知道该怎么做了
楼主把代码贴上看看。用case when 是可以的。
成功了。。。刚才自己试出来了。
SQL code:
select decode(sign(A-B),1,B),decode(sign(C-B),1,C) from table
SQL code:
--1.case
SELECT CASE
WHEN c > b THEN
c
WHEN b > a THEN
b
ELSE
a
END
from t1;
--2.decode
SELECT decode(sign(c - b), 1, c, decode(sign(b - a), 1, b, a), a) from t1;
SQL code:
SQL> create table tb(A int,B int, C int);
Table created.
SQL> insert into tb values(3,5,7);
1 row created.
SQL> insert into tb values(7,3,8);
1 row created.
SQL> insert into tb values(4,2,6);
1 row created.
SQL> select * from tb;
A B C
---------- ---------- ----------
3 5 7
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBErro ......