select MobileInfo.Mobile, 
case when MobileState=0 then '未用'
when MobileState=1 then '待用'
when MobileState=2 then '已用' end as MobileState,
UserName,LoginName
from UserInfo
RIGHT JOIN MobileInfo
ON UserInfo.MobileGUID=MobileInfo.MobileGUID 
order by MobileInfo.MobileState
先按照MobileInfo.MobileState排列,排完过后剩下的就是"未用"的再按照MobileInfo.Mobile排列写呢

解决方案 »

  1.   


    select MobileInfo.Mobile, 
    case when MobileState=0 then '未用'
    when MobileState=1 then '待用'
    when MobileState=2 then '已用' end as MobileState,
    UserName,LoginName
    from UserInfo
    RIGHT JOIN MobileInfo
    ON UserInfo.MobileGUID=MobileInfo.MobileGUID 
    order by MobileInfo.MobileState,MobileInfo.Mobile不用开两个帖子,直接在原帖子里接着问行了
      

  2.   

    select MobileInfo.Mobile, 
    case when MobileState=0 then '未用'
    when MobileState=1 then '待用'
    when MobileState=2 then '已用' end as MobileState,
    UserName,LoginName
    from UserInfo
    RIGHT JOIN MobileInfo
    ON UserInfo.MobileGUID=MobileInfo.MobileGUID 
    order by CASE WHEN MobileInfo.MobileState=0 THEN 1 ELSE MobileInfo.MobileState END 
      

  3.   

    select MobileInfo.Mobile, 
    case when MobileState=0 then '未用'
    when MobileState=1 then '待用'
    when MobileState=2 then '已用' end as MobileState,
    UserName,LoginName
    from UserInfo
    RIGHT JOIN MobileInfo
    ON UserInfo.MobileGUID=MobileInfo.MobileGUID 
    order by case when MobileInfo.MobileState > 0 then 0 else 1 end ,MobileInfo.MobileState,MobileInfo.Mobile
      

  4.   

    select MobileInfo.Mobile, 
    case when MobileState=0 then '未用'
    when MobileState=1 then '待用'
    when MobileState=2 then '已用' end as MobileState,
    UserName,LoginName
    from UserInfo
    RIGHT JOIN MobileInfo
    ON UserInfo.MobileGUID=MobileInfo.MobileGUID 
    order by MobileInfo.MobileState
        ,case when MobileState=0 then MobileInfo.Mobile end