请帮助我优化下面提到的脚本,因为同一个表(即 Incident_Audit_log)已多次使用?
Posted
技术标签:
【中文标题】请帮助我优化下面提到的脚本,因为同一个表(即 Incident_Audit_log)已多次使用?【英文标题】:Please help me to optimize the below mentioned script as the same table(i.e. Incident_Audit_log) has utilized multiple times? 【发布时间】:2015-10-16 07:33:58 【问题描述】:select A.*
from Incident_Audit_log a where incident_audit_log_id in
(select top 1 incident_audit_log_id from Incident_Audit_log b
where b.incident_id=a.incident_id and b.status_did=a.status_did
and b.tracking_code_did = (select tracking_code_did
from Incident_Audit_log where update_date = (select MAX(update_date)
from Incident_Audit_log where Status_did in (103, 1035)
and incident_id = b.incident_id)
and incident_id = b.incident_id)
order by update_date asc)
【问题讨论】:
您要选择什么?桌子长什么样子? 【参考方案1】:我不确定您想要实现什么,但我猜您想提取具有最新更新且 status_did 等于 13 和 1035 的行。
在这种情况下,这应该有效:
select *
from (
select ROW_NUMBER() OVER(ORDER BY update_date DESC) AS rn,
*
from Incident_Audit_log
where status_did in (103, 1035)
) as SubQueryAlias
where rn = 1
如果没有,请提供更多信息。
【讨论】:
以上是关于请帮助我优化下面提到的脚本,因为同一个表(即 Incident_Audit_log)已多次使用?的主要内容,如果未能解决你的问题,请参考以下文章