select a.e_id as e_id, a.e_name as e_name,
       branch = (
         case
           when a.branch="bj" then "1"
           when a.branch="xa" then "2"
           when a.branch="sz" then "3"
           when a.branch="dl" then "4"
           when a.branch="cq" then "5"
           when a.branch="yz" then "6"
           when a.branch="ad" then "7"
           else "3"
         end)
from oe_table a,machine b,bank d
where ...

解决方案 »

  1.   

    select   a.e_id as e_id
            ,a.e_name as e_name
                ,(
           when case branch="bj" then "1"
           when case branch="xa" then "2"
           when case branch="sz" then "3"
           when case branch="dl" then "4"
           when case branch="cq" then "5"
           when case branch="yz" then "6"
           when case branch="ad" then "7"
           else "3"
           end) as branch 
    from oe_table a,machine b,bank d
    where ...
      

  2.   

    這樣就可以了.簡化一些:select a.e_id as e_id, a.e_name as e_name,
           (
             case a.branch
               when "bj" then "1"
               when "xa" then "2"
               when "sz" then "3"
               when "dl" then "4"
               when "cq" then "5"
               when "yz" then "6"
               when "ad" then "7"
               else "3"
             end) branch
    from oe_table a,machine b,bank d
    where ...