有数据表A,内有Sex(性别)字段,存储的是1和2 
有用户字典表,内有Name(名字)Value(值)字段,存储的是
            ID     Name    Value
                    1        男
                    2        女当Select * From A 时 性别字段得到的是1或2 ,
请问: 如何将其转化成男或女?谢谢.  

解决方案 »

  1.   

    select case(sex)
           '1' '男':
           '2' ' 女':
      from A;
    可能case的结构有问题,但是这种方法是可行的
      

  2.   

    Select decode(sex,'1','男','2','女')   From   A 
      

  3.   

    有数据表A,内有Sex(性别)字段,存储的是1和2  
    有用户字典表B,内有Name(名字)Value(值)字段,存储的是
                            ID           Name         Value
                                            1                 男
                                            2                 女当Select   *   From   A   时   性别字段得到的是1或2   ,
    请问:   如何将其转化成男或女?谢谢.    
      

  4.   

    有数据表A,内有Sex(性别)字段,存储的是1和2   
    有用户字典表,内有Name(名字)Value(值)字段,存储的是 
                            ID           Name         Value 
                                            1                 男 
                                            2                 女 当Select   *   From   A   时   性别字段得到的是1或2   , 
    请问:   如何将其转化成男或女? 谢谢.     --方法一
    select id , name , '男' value from tb where value = 1
    union all
    select id , name , '女' value from tb where value = 2--方法二
    select id , name , case value when 1 then '男' else '女' end value from tb 
      

  5.   

    我是楼主抱歉各位,楼上的一些将用户字典(男女等)写入SQL语句的方法不可取,因为这个用户字典很大,有近万行,所谓男女只是列举.有人说用左连接,感觉贴谱,但如何做?数据表为A,字典表为B
      

  6.   

     我是楼主:select b.DictValue,a.wjmc from t_ztwj a,T_Dict b where a.wjfl=b.dictcode and b.dictID='ZTWJFL';
    这条语句已经实现我想要的功能,请问有没有更优化和更规范的写法?
    谢谢.
      

  7.   

    SELECT A.SEX,B.VALUE FROM A
    LEFT OUTER JOIN B
    ON A.SEX = B.NAME
    AND B.ID = 'ZTWJFL'类似这样子.
    不知道你的A表里面用什么保存B表的ID,就写了一个固定的。有的话,你需要自己修正一下。
      

  8.   

    select decode(sex,'1','男','2','女') sex from A;
      

  9.   

    不是连接的方法, DECODE 的效率更高.
      

  10.   

    不用连接的方法, DECODE的效率更高.
      

  11.   

    我是楼主:select   b.DictValue,a.wjmc   from   t_ztwj   a,T_Dict   b   where   a.wjfl=b.dictcode   and   b.dictID='ZTWJFL';
    这条语句已经实现我想要的功能,请问有没有更优化和更规范的写法?
    谢谢.---------------------------------------------------------
    写法已经很简洁规范了,就这样了