我要新创建一个view B,从表A中获得。A 表有一列working_year(float),我的需求是这样:B中有一列year,它是这样取值的:如果working_year〉=0 and working_year〈10,year=5;如果working_year〉=10 and working_year〈20,year=10.如果working_year>20,year=15。
请问该这么写,谢谢大家了

解决方案 »

  1.   

    create view view_b
    as
    select B=case when working_year>=0 and working_year<10 then 5 
                  when working_year>=10 and working_year<20 then 10
                  else 15 end
    from A
      

  2.   

    select year=(case when working_year>=0 and working_year<10 then 5 when working_year>20 then 15 else 10 end) from A
      

  3.   

    create view my_viw
    as
    select
    A.其它字段,
    case when working_year>=0 and working_year<10  then 5
     when working_year<20  then 10
     when working_year>20  then 15
    end [year]
    from A 
      

  4.   


    case when working_year>=0 and working_year<10 then 5
         when working_year>=10 and working_year<20 then 10
         when working_year>20 then 15
    end as [year]
      

  5.   

    create view B as
    (
    select [year] = case when working_year>=0 and working_year<10 then 5
    when whenworking_year>=10 and working_year<20 then 10
    when working_year>20 then 15 end
    from A
    )
      

  6.   


    create view B 
    as
    begin
    select *, wroking_year1= case when working_year>0 and working_year<10
        then 5 when working_year>=10 and working_year<20
        then 20 else working_year>20 then 15  end 
    from A
    end