Sql server 2008 并且lid.sourceid=si.sourceid 和lid.statementtypecode=si.statementtypecode 和lid.financialsbucketid=si.financialsbucketid 和lid.statementcurrencycodeiso=si.statementcurrencycodeiso 内部连接trf.dbo.period P(nolock) 在lid.orgid=p.orgid上 并且lid.periodid=p.periodid 内部连接trf.dbo.lineitem LLL(nolock) 在lll.orgid=lid.orgid上 和lll.lineitemid=lid.lineitemid 内部联接trf.dbo.financialconcept FC(nolock) 在lll.financialconceptidglobal=fc.financialconceptid上 左外连接trf.dbo.xbrlement XBRLEle(nolock) 在lid.xbrlementid=xbrlele.xbrlementid上 内部连接trf.dbo.asreportedinstance ARI(nolock) 在lid.orgid=ari.orgid上 并且lid.sourceid=ari.sourceid 并且lid.asreporteditemid=ari.asreporteditemid 内部连接trf.dbo.[source]SRC(nolock) 在src.orgid=ari.orgid上 和src.sourceid=ari.sourceid 其中ari.reportedvalue不为NULL——SRC.DCN>“”——和SRC.DocFormat>“”——以及ari.BookMark>“”

Sql server 2008 并且lid.sourceid=si.sourceid 和lid.statementtypecode=si.statementtypecode 和lid.financialsbucketid=si.financialsbucketid 和lid.statementcurrencycodeiso=si.statementcurrencycodeiso 内部连接trf.dbo.period P(nolock) 在lid.orgid=p.orgid上 并且lid.periodid=p.periodid 内部连接trf.dbo.lineitem LLL(nolock) 在lll.orgid=lid.orgid上 和lll.lineitemid=lid.lineitemid 内部联接trf.dbo.financialconcept FC(nolock) 在lll.financialconceptidglobal=fc.financialconceptid上 左外连接trf.dbo.xbrlement XBRLEle(nolock) 在lid.xbrlementid=xbrlele.xbrlementid上 内部连接trf.dbo.asreportedinstance ARI(nolock) 在lid.orgid=ari.orgid上 并且lid.sourceid=ari.sourceid 并且lid.asreporteditemid=ari.asreporteditemid 内部连接trf.dbo.[source]SRC(nolock) 在src.orgid=ari.orgid上 和src.sourceid=ari.sourceid 其中ari.reportedvalue不为NULL——SRC.DCN>“”——和SRC.DocFormat>“”——以及ari.BookMark>“”,sql-server-2008,Sql Server 2008,尝试删除查询中调用的函数,如:Exrate()和Getaveragefxrate() 还要更改case语句,其中使用子查询,如下所示 在查询结束时,使用 left outer join trf.lineitemfundbdescription lifd on lll.orgid = lifd.orgid and lll.lineitemid = lifd.lineitemid 然后案件将改为 case when lifd.orgid is null then lll.line

尝试删除查询中调用的函数,如:Exrate()Getaveragefxrate()

还要更改case语句,其中使用子查询,如下所示

在查询结束时,使用

left outer join trf.lineitemfundbdescription lifd 
    on lll.orgid = lifd.orgid and lll.lineitemid = lifd.lineitemid
然后案件将改为

case
    when lifd.orgid is null then lll.lineitemname
    else lifd.lineitemshortdescription End As LineItemName
它会将您的查询微调到某个级别,并相应地为您提供正确的执行计划和建议


请记住,执行计划不会显示在查询中使用调用的用户定义函数的计划。

如果查询返回,这有关系吗?
case
    when lifd.orgid is null then lll.lineitemname
    else lifd.lineitemshortdescription End As LineItemName