资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

【求解】再發一帖 /**** 排序的問題:把查詢結果 insert到一個表中,為什麼會打亂原來的排序 ? ****/

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

各位老鳥,  
  我想得到的排序比較特殊,   為:    
  先按   類別排序   -->   再按   工段排序   ;   工段為   B20,B40   的,要放在同一類別的最上面,其他工段按從小到大排序.  
  即:  
   
  類別                   工段           款號                 顏色  
  ------         -----       -------     ------  
  100000           B40           G0001           WH  
  100000           A00           G0002           WH  
  100000           A21           G0001           WH  
  100000           A22           G0003           WH  
  100000           A23           G0001           WH  
  100000           A24           G0001           WH  
  100000           B10           G0001           WH  
  100000           B13           G0001           WH  
  100001           B20           G0002           WH  
  100001           B40           G0002           WH  
  100001           A01           G0003           IV  
  100001           A22           G0002           WH  
  100001           A33           G0004           WH  
  100001           A34           G0002           IV  
  100001           A68           G0006           WH  
  100001           B12           G0006           IV  
  100001           B15           G0002           WH  
  100002           A01           G0003           IV  
  100002           A22           G0002           WH  
  100002           A33           G0004           WH  
  100002           A34           G0002           IV  
  100002           A68           G0006           WH  
  100002           B12           G0006           IV  
  100002           B15           G0002           WH  
   
  所以我的做法是:     先把B20,B40   轉成   001,002,待排序完成後再轉回成B20,B40   .  
   
  但是   .........  
   
   
  Select   類別,case   工段   when   B20   then   001   when   B40   then   002   else   工段   end   [工段],款號,顏色   into   Table2      
  From   Table1     Where   類別   between   1000   and     2000     Order   By   類別,工段    
  update   Table2   set   工段=B20   where   工段=001      
  update   Table2     set   工段=B40   where   工段=002      
  select   *   from     Table2        
  drop   table     Table2  
   
  ||  
  ||     得到下面的排序,   我無法理解   !!     ,   為什麼加入  
  ||       "select   ....     into   Table2       "     類別會被打亂   ??  
  \/  
   
  類別                   工段           款號                 顏色  
  ------         -----       -------     ------  
  100000           B40           G0001           WH  
  100000           A00           G0002           WH  
  100000           A21           G0001           WH  
  100000           A22           G0003           WH  
  100000           A23           G0001           WH  
  100001           B20           G0002           WH  
  100001           B40           G0002           WH  
  100001           A01           G0003           IV  
  100001           A22           G0002           WH  
  100001           A33           G0004           WH  
  100001           A34           G0002           IV  
  100001           A68           G0006           WH  
  100001           B12           G0006           IV  
  100001           B15           G0002           WH  
  100002           A01           G0003           IV  
  100002           A22           G0002           WH  
  100002           A33           G0004           WH  
  100000           A24           G0001           WH  
  100000           B10           G0001           WH  
  100000           B13           G0001           WH  
  100002           A34           G0002           IV  
  100002           A68           G0006           WH  
  100002           B12           G0006           IV  
  100002           B15           G0002           WH  
   
   
   
  Select   類別,case   工段   when   B20   then   001   when   B40   then   002   else   工段   end   [工段],款號,顏色  
  From   Table1     Where   類別   between   1000   and     2000     Order   By   類別,工段    
  select   *   from     Table2        
  drop   table     Table2  
  ||  
  ||           下面的排序   ,   沒加   "select   ....     into   Table2       "   結果又是正常的   !  
  ||  
  \/  
  類別                   工段           款號                 顏色  
  ------         -----       -------     ------  
  100000           002           G0001           WH  
  100000           A00           G0002           WH  
  100000           A21           G0001           WH  
  100000           A22           G0003           WH  
  100000           A23           G0001           WH  
  100000           A24           G0001           WH  
  100000           B10           G0001           WH  
  100000           B13           G0001           WH  
  100001           001           G0002           WH  
  100001           002           G0002           WH  
  100001           A01           G0003           IV  
  100001           A22           G0002           WH  
  100001           A33           G0004           WH  
  100001           A34           G0002           IV  
  100001           A68           G0006           WH  
  100001           B12           G0006           IV  
  100001           B15           G0002           WH  
  100002           A01           G0003           IV  
  100002           A22           G0002           WH  
  100002           A33           G0004           WH  
  100002           A34           G0002           IV  
  100002           A68           G0006           WH  
  100002           B12           G0006           IV  
  100002           B15           G0002           WH

网友回答:

发表者:zjcxc

select   *   from   表  
  order   by   類別,case   when   工段   in(B20,B40)   then   0   else   1   end,工段


 

 
热门推荐笔记本: IBM笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved