0
select * from
(
  Select DISTINCT 
    DocManREPORT_View.DOCINPUTDATE,
    DocManREPORT_View.REACTIVATEDATE,
    DocManREPORT_View.TRACENO,
    DocManREPORT_View.CLIENTNAME,
    DocManREPORT_View.DOCUMENTID,DocManREPORT_View.BARCODEID,
    DocManREPORT_View.INPUTMODE,
    DocManREPORT_View.INPUTSOURCE,PI.start_time,
    RANK() OVER (PARTITION BY process_instance_id 
       ORDER BY last_modified_date desc) rank,
    PI.STATUS AS PROCESSSTATUS 
  FROM DocManREPORT_View 
  INNER JOIN PROCESS_INSTANCE PI ON 
    (pi.instance_id = DocManREPORT_View.process_instance_id)
) 
where rank = 1;
4

2 回答 2

0

如果可以,请尝试使用

 RANK() OVER (PARTITION BY process_instance_id 
       ORDER BY last_modified_date desc) rank,

在 VIEW 内部,因为我认为 View 已经拥有所有数据来进行这一步。

于 2012-09-10T06:42:33.260 回答
0

我认为 DISTINCT 子句可能会破坏性能。我建议您通过将其包含在 partition by 子句中来摆脱它,然后看看您有什么。

于 2012-09-10T06:21:13.097 回答