首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > IBM DB2 >

子查询里不能用order by? 帮忙看看急该怎么处理

2012-02-29 
子查询里不能用order by? 帮忙看看急!UPDATE ProdChangesSET processingStatusERPPRC,modifyDtCURRENT

子查询里不能用order by? 帮忙看看急!
UPDATE ProdChanges 
 SET processingStatus='ERPPRC',modifyDt=CURRENT TIMESTAMP 
 WHERE transid in (SELECT P2.transid 
  FROM ProdChanges P2 
  WHERE P2.processingStatus='ERPQUE' 
  ORDER BY P2.ITMNUMBER ASC,P2.SKUCode ASC,P2.SKUInventory DESC,P2.SellOut DESC 
  FETCH FIRST 500 ROWS ONLY);

报order不期望的。
怎么改?

[解决办法]

SQL code
UPDATE ProdChanges  SET processingStatus='ERPPRC',modifyDt=CURRENT TIMESTAMP  WHERE transid in (  select transid from (    SELECT P2.transid          ,ROW_NUMBER() over(ORDER BY P2.ITMNUMBER ASC,P2.SKUCode ASC,P2.SKUInventory DESC,P2.SellOut DESC ) as rownum    FROM ProdChanges P2    WHERE P2.processingStatus='ERPQUE'  ) a  where rownum <= 500) 

热点排行