UPDATE TYSCL SET CLPZHNEW=
      case LXBH
           when 112   then
              CASE TLX4_LBBH
              WHEN 1 THEN 'R'+CLPZH
              WHEN 2 THEN 'H'+CLPZH
              ........................
     ELSE 'Z'+CLPZH
              end
           when 132  then
              CASE TLX4_LBBH
              WHEN 1 THEN 'F'+CLPZH
              WHEN 2 THEN 'G'+CLPZH
              .......................
     ELSE 'Z'+CLPZH
              end
       END              
      END
      end     

解决方案 »

  1.   

    UPDATE TYSCL SET CLPZHNEW=
          case LXBH
               when 112   then
                  CASE TLX4_LBBH
                  WHEN 1 THEN 'R'+CLPZH
                  WHEN 2 THEN 'H'+CLPZH
                  ........................
         ELSE 'Z'+CLPZH
                  end
               when 132  then
                  CASE TLX4_LBBH
                  WHEN 1 THEN 'F'+CLPZH
                  WHEN 2 THEN 'G'+CLPZH
                  .......................
         ELSE 'Z'+CLPZH
                  end
           END
      

  2.   

    UPDATE TYSCL SET CPHMX=
      CASE WHEN LXBH=112 AND LBBH=1 THEN 'R'+CPHM
           WHEN LXBH=112 AND LBBH=2 THEN 'H'+CPHM
    ...
           WHEN LXBH=132 AND LBBH=1 THEN 'F'+CPHM
           WHEN LXBH=132 AND LBBH=2 THEN 'G'+CPHM
    ...
           ELSE 'Z'+CPHM
      END
      

  3.   

    如果只处理当天的 where datediff(day,CZSJ,getdate())=0 这个条件应该放在哪里?
      

  4.   

    UPDATE TYSCL SET CPHMX=
      CASE WHEN LXBH=112 AND LBBH=1 THEN 'R'+CPHM
           WHEN LXBH=112 AND LBBH=2 THEN 'H'+CPHM
    ...
           WHEN LXBH=132 AND LBBH=1 THEN 'F'+CPHM
           WHEN LXBH=132 AND LBBH=2 THEN 'G'+CPHM
    ...
           ELSE 'Z'+CPHM
      END
     where datediff(day,CZSJ,getdate())=0