各位:
大家好!请问如下SQL SERVER查询语句如何改成 ORACLE语句啊,select * from (select userid,
case type 
when 1 then 'User' 
when 2 then 'Group' 
else null 
end as 'USERTYPE',FIRSTNAME, LASTNAME, EMAIL from Usertab where userid like '%administrator%' ) userTable
where usertype like  '%1%' 
order by userid===================================================
oracle提示错误:
ORA-00923: FROM keyword not found where expected
我感觉好像
case type 
when 1 then 'User' 
when 2 then 'Group' 
else null 
end as 'USERTYPE'
这句有问题,但是不知道ORACLE中如何写。请各位帮忙,小弟先谢谢了。

解决方案 »

  1.   

    select * from (select userid, 
    case type 
    when 1 then 'User' 
    when 2 then 'Group' 
    else null 
    end as USERTYPE,FIRSTNAME, LASTNAME, EMAIL from Usertab 
      where userid like '%administrator%' ) userTable 
    where usertype like  '%1%' 
    order by userid
      

  2.   

    'USERTYPE' 不要引号,不过用Decode函数比较简单:
    select * from (select userid, 
    DECODE(type, 1, 'User',2, 'Group', null) as USERTYPE, FIRSTNAME, LASTNAME, EMAIL from Usertab where userid like '%administrator%' ) userTable 
    where usertype like  '%1%' 
    order by userid 
      

  3.   

    'USERTYPE' 改成USERTYPE 或者"USERTYPE"