视图有多个字段,f1,f2,f3,f4,现在要做查询,并根据f2值做相应处理,如果f2=A结果为1,如果f2=B结果为2,如果f2=C结果要显示f3的值,sql语句怎么写啊,各位高手帮帮忙
     我的语句是这么写的
     select f1,
            case 
               when f2='A' then '1'
               when f2='B' then '2'
               when f2='C' then  f3-----怎么将f3值显示,不知道怎么写了
               else ''
            end
               as f2,
            f4
      from mytable
求帮忙!!!
            

解决方案 »

  1.   

    有什么不知道怎么写的,你写的这个就是正确的。把as 去掉,检查一下f2的类型,是字符就行。
      

  2.   

     就when f2='C' then  f3-----这一句,直接写数据库字段名不行,怎么把f3值取出来,是这个意思
      

  3.   

    就是类型问题,加了个to_char 函数就ok了,不过都是nvarchar2类型的为什么还有转换
      

  4.   


    '1','2'这些都默认为char/varchar2 
      

  5.   

    因为你前面返回的'1','2'是char类型的
      

  6.   

    select decode(f2,'A','1','B','2','C',f3) from zzgx