当前位置: 代码迷 >> Sql Server >> sql优化,新员工,现在要优化一个项目的sql,就这点分了, 全给了,只希望有满意结果。该如何处理
  详细解决方案

sql优化,新员工,现在要优化一个项目的sql,就这点分了, 全给了,只希望有满意结果。该如何处理

热度:13   发布时间:2016-04-24 11:04:40.0
sql优化,新员工,现在要优化一个项目的sql,就这点分了, 全给了,只希望有满意结果。

SELECT     FlyPM_Contract.CT_ID, FlyPM_Contract.CT_ConCode, FlyPM_Contract.CT_ConName, CommonParameter.CP_Name AS CT_ConStatus, 
                      CommonParameter_1.CP_Name AS CT_ConType, FlyPM_Contract.CT_ConMoney, FlyPM_Customer.sName AS CT_ConFirstSide, FlyPM_Contract.CT_ConFirstLinkMan, 
                      FlyPM_Contract.CT_ConFirstLinkTel, view_Department.PD_Name AS CT_ConMainDept, 
                      CommonParameter_2.CP_Name AS CT_ConClassify, FlyPM_Contract.CT_ConInvest, FlyPM_Contract.CT_ConScale, FlyPM_Contract.CT_ConPrjAddress, 
                      dbo.GetPhaseNameListCon(FlyPM_Contract.CT_ID) AS CT_ConPhase, FlyPM_Contract.CT_ConSignDate, dbo.GetConCreaterNameListCon(FlyPM_Contract.CT_ID) AS CT_ConCreater, 
                      FlyPM_Contract.CT_ConCreateDate, FlyPM_Contract.CT_ConFeeInfo, FlyPM_Contract.CT_ConSummary, FlyPM_Contract.CT_ConRemark, FlyPM_Contract.bFlag, 
                      FlyPM_Contract.sAttachID, ISNULL(GathingSumTotal.GathingTotal, 0) AS GathingTotal, ISNULL(GathingSumTotal.GathingTotal, 0) 
                      - ISNULL(CurYearGathintTal.GathingMoneyCurYear, 0) AS GathingMoneyHistoryYear, ISNULL(CurYearGathintTal.GathingMoneyCurYear, 0) AS GathingMoneyCurYear, 
                      FlyPM_Contract.CT_ConMoney - ISNULL(GathingSumTotal.GathingTotal, 0) AS ShengYu, 
                      FlyPM_Contract.CT_ConStartDate, FlyPM_Contract.CT_ConDemandDate, FlyPM_Contract.CT_ConFactDate, 
                      CASE WHEN (FlyPM_Contract.CT_ConMoney - ISNULL(GathingSumTotal.GathingTotal, 0)) 
                      > 0 THEN '<font color=red>合同欠款</font>' WHEN (FlyPM_Contract.CT_ConMoney - ISNULL(GathingSumTotal.GathingTotal, 0)) 
                      < 0 THEN '<font color=cyan>合同多收</font>' ELSE '<font color=green>收款完结</font>' END AS notice, view_AllUser1.PU_Name AS CT_ConPreson, 
                      dbo.GetCoDeptNameListCon(FlyPM_Contract.CT_ID) AS CT_ConCoDept, FlyPM_Contract.CT_ConClassifyBenYuan, CASE WHEN bIsStarted IS NULL 
                      THEN '<font color=red>未立项  </font><img border=0 align=absmiddle src=/App_Resource/Images/Icons/exclamation_octagon_fram.png>' ELSE '<font color=green>已立项  </font><img border=0 align=absmiddle src=/App_Resource/Images/Icons/drop-yes.gif>'
                       END AS Status , case when (dbo.Fn_PV_isRelationToPerson(FlyPM_Contract.CT_ID) = 0) then '<font color=green>单承接人</font>'
                       when (dbo.Fn_PV_isRelationToPerson(FlyPM_Contract.CT_ID) = 1) then '<font color=green>已分解</font>'
                       when (dbo.Fn_PV_isRelationToPerson(FlyPM_Contract.CT_ID) = 2) then '<font color=red>多人未分解</font>' end AS isRelation
FROM         FlyPM_Contract LEFT OUTER JOIN
                          (SELECT     SUM(CG_GathingMoney) AS GathingMoneyCurYear, CT_ID
                            FROM          FlyPM_ContractGathering AS FlyPM_ContractGathering_1
  相关解决方案