如果然后在oracle sql中查询

时间:2015-08-06 03:16:12

标签: sql oracle oracle10g case

我已通过User_id会话登录。 User_id位于Profile表中。现在我需要获取其作为另一个表中的列的类。 同样,有很多类,所以我想使用if then else查询我的数据库以从另一个表获取值。 SELECT class FROM profile ...表示类是其中一个配置文件列,其中user_id(给定) 现在使用这个第一个类(class),它在class_table中充当列名 所以,如果(第一) 首先从class_table中选择

select class from profile where user_id = session.getattribute("user_id")
if(first)
then
select first from class
else if(second)
then
select second from class...

我使用Oracle SQL作为后端,使用Java和html作为前端。 有人可以给出上述查询的语法吗?

1 个答案:

答案 0 :(得分:1)

select 
    class, 
    CASE 
        WHEN xfirst THEN class.first 
        WHEN xsecond THEN class.second 
    END 
from 
    profile 
join 
    class 
on 
    ???? 
where 
    user_id = session.getattribute('user_id')

但是逻辑表达式xfirst和xsecond需要修改。您没有足够的输入来完成该条款。与JOIN相同。