问下
一个画面,点一下检索,下面检索出来一个gird,它是许多表连接成的这个gird里,它里边显示的其中一个格是一个字段的值对吧?现在想让这里边的东西显示这样一个值
这样的---
         (如果M表的某个字段是“男”,
            则这里显示另一个X表的x字段,
           如果N表的某个字段是“女”,
            则这里显示另一个Y表的y字段)

解决方案 »

  1.   

    decode(M.某个字段,'男',X.x,M.某个字段)
    decode(N.某个字段,'女',Y.y,N.某个字段)
      

  2.   

    decode(M.某个字段,'男',X.x,M.某个字段)
    decode(N.某个字段,'女',Y.y,N.某个字段)
      

  3.   

    你可以用case when 
    例子:select case 
                  when 
                  t.'男' then 
                  '你想要变成的字段' 
                     end t.name
                       from student t  
      

  4.   

    case比较麻烦
    初学者使用DECODE比较好.
      

  5.   

    如果你提的这个需求问题的话,可以参考下面的sql with m as(
       
        select '男' m  from dual m
       ),
        x as (
         select 'X表的x字段' x from dual
        ),
        n as (
         select '女' n from dual m
        ),
        y as (
         select 'Y表的y字段' y from dual
        )
       select decode(m.m,'男',to_char(x.x),m.m) a,decode(n.n,'女',to_char(y.y))b  from m,x,n,y;