表中a  b  c  d四列
if ****  取 a   AS   X
else 
     if ****  取  b  AS  Y
     else 
          if   **** 取  c AS  Y
          else  取  d  AS  X
                              
执行时报错  
多个if  else   如何 使用啊 请教
          

解决方案 »

  1.   

    加beginif 
    begin
    end
    else
    begin
    end
      

  2.   

    case when condition1 then a  when condition2  then b when conditon3 then c
    else d end as columnname
      

  3.   

    其中涉及到 对 几个列的数据的判断   所以必须用if  else  
      

  4.   

    if 
     begin 
     end
    else  
          begin
             if 
               begin
               end
             else
               begin
               end
          end
      

  5.   


    对于不加 begin end 的,就只对if或else后面第一句作用
    if **** 
    begin
    取 a AS X
    end
    else  
    begin
    if **** 
    begin 
    取 b AS Y
    end
    else 
    begin
    if **** 
    取 c AS Y
    else 
    取 d AS X
    end
    end
      

  6.   

    if else 不能用在语句中,只能用在批处理中,在语句中只能用case when 
      

  7.   

    (if  Len(BaseData2010.dbo.Guest.telephone2) = 11 
    begin  
    BaseData2010.dbo.Guest.telephone1 as Y 
    end  
    ELSE 
    begin 
    BaseData2010.dbo.Guest.telephone1 as  L 
    END) 
    是这么写吗
      

  8.   

    用case  when  判断起来太麻烦   了吧
      

  9.   

    象我这种 用case  when 怎么编写呢  急啊 高手指点
      

  10.   

    USE pubs 
    GO 
    SELECT 
         Title, 
        'Price Range' = 
        CASE 
            WHEN price IS NULL THEN 'Unpriced' 
            WHEN price < 10 THEN 'Bargain' 
            WHEN price BETWEEN 10 and 20 THEN 'Average' 
            ELSE 'Gift to impress relatives' 
        END 
    FROM titles 
    ORDER BY price 
    GO