select ut.ID, ui.u_uName, ui.u_uSex, ui.u_uSpendingAmount, ui.u_uSales,
Grade = case when ui.u_uSpendingAmount <100 or ui.u_uSales <500 then '普卡会员' 
when (ui.u_uSpendingAmount <=499) or (ui.u_uSales <=2999) then '铜卡会员' 
when (ui.u_uSpendingAmount <=999) or (ui.u_uSales <=9999) then '银卡会员' 
when (ui.u_uSpendingAmount <=1999) or (ui.u_uSales <=19999) then '金卡会员' 
when (ui.u_uSpendingAmount >=2000) or (ui.u_uSales >=20000) then '钻卡会员' 
else ' ' end
from userTable as ut inner join userInfo as ui on ut.ID = ui.ID
为什么不能判断or后面的条件啊? 

解决方案 »

  1.   

    select ut.ID, ui.u_uName, ui.u_uSex, ui.u_uSpendingAmount, ui.u_uSales,
    Grade = 
    case when ui.u_uSpendingAmount <100 or ui.u_uSales <500 then '普卡会员'  
    when ui.u_uSpendingAmount between 100 and 499 or ui.u_uSales between 500 and 2999  then '铜卡会员'  
    when ui.u_uSpendingAmount between 500 and 999 or ui.u_uSales between 3000 and 9999  then '银卡会员'  
    when ui.u_uSpendingAmount between 1000 and 1999 or ui.u_uSales between 10000 and 19999  then '金卡会员'  
    when ui.u_uSpendingAmount>=2000 or  ui.u_uSales >=20000  then '钻卡会员'  
    else ' ' 
    end
    from userTable as ut inner join userInfo as ui on ut.ID = ui.ID
      

  2.   

    select ut.ID, ui.u_uName, ui.u_uSex, ui.u_uSpendingAmount, ui.u_uSales,
    Grade = 
    (
    case when ui.u_uSpendingAmount <100 or ui.u_uSales <500 then '普卡会员'  
    when (ui.u_uSpendingAmount <=499) or (ui.u_uSales <=2999) then '铜卡会员'  
    when (ui.u_uSpendingAmount <=999) or (ui.u_uSales <=9999) then '银卡会员'  
    when (ui.u_uSpendingAmount <=1999) or (ui.u_uSales <=19999) then '金卡会员'  
    when (ui.u_uSpendingAmount >=2000) or (ui.u_uSales >=20000) then '钻卡会员'  
    else ' ' end
    )
    from userTable as ut inner join userInfo as ui on ut.ID = ui.ID
      

  3.   

    select ut.ID, ui.u_uName, ui.u_uSex, ui.u_uSpendingAmount, ui.u_uSales,
    Grade = case when ui.u_uSpendingAmount <100  then '普卡会员'  
    when (ui.u_uSpendingAmount <=499) then '铜卡会员'  
    when (ui.u_uSpendingAmount <=999) then '银卡会员'  
    when (ui.u_uSpendingAmount <=1999) then '金卡会员'  
    when (ui.u_uSpendingAmount >=2000)  then '钻卡会员'  
    else ' ' end
    from userTable as ut inner join userInfo as ui on ut.ID = ui.ID
    union all
    select ut.ID, ui.u_uName, ui.u_uSex, ui.u_uSpendingAmount, ui.u_uSales,
    Grade = case when  ui.u_uSales <500 then '普卡会员'  
    when  (ui.u_uSales <=2999) then '铜卡会员'  
    when  (ui.u_uSales <=9999) then '银卡会员'  
    when  (ui.u_uSales <=19999) then '金卡会员'  
    when (ui.u_uSales >=20000) then '钻卡会员'  
    else ' ' end
    from userTable as ut inner join userInfo as ui on ut.ID = ui.ID