我有个表test的有个字段 status 内容为1 ,2 ,3 
我在查询的时候希望 1 就用‘放假’ 2 '休假' 3 ‘补假’
显示数据。不希望查询出来status 还显示1 2 3 
该怎样写sql语句

解决方案 »

  1.   

    建立一个编码表
    id(主键)  statu displaytext
    1          1       放假
    2          2       休假
    3          3       补假
    查询时,用 inner join 关联两个表select displaytext from 编码表 inner join 原表 on 原表.字段=编码表.statu
      

  2.   


    select case status  when 1 then '放假' when 2 then '休假' when 3 then '补假' end as status  from test 
      

  3.   

    在adoquery中增加计算字段 字段名为flag_endd
    然后在ADOQuery的OnCalcFields事件中写如下代码  if DataSet.FieldByName('status').AsString='1' then
        self.ADOQuery1flag_endd.AsString:='放假';
      if DataSet.FieldByName('status').AsString='2' then
        self.ADOQuery1flag_endd.AsString:='休假';
      if DataSet.FieldByName('status').AsString='3' then
        self.ADOQuery1flag_endd.AsString:='补假';