求SQL语句的优化。

fireegg fireegg 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下代码,总的就是在指定范围内,那些字段加起来在t_Xm_SalePrice 表没有记录的数据。请大神帮忙优化下,查不出数据 ,显示执行计划又是正常。谢谢

SELECT DISTINCT c.FNumber 物料代码,c.FName 物料名称,c.FModel 物料规格,b.FMapNumber 客户对应代码,d.FNumber 客户代码,'' 价格类型,1 [销货量(从)],10000000 [销货量(到)], b1.FNumber 计量单位代码,a1.FName 币别,0 [报价],e1.FName 业务员,CONVERT(DATETIME,'1900-01-01') 生效日期,CONVERT(DATETIME,'2100-01-01') 失效日期,'' 备注,d.fname 客户名称,a.FDate 订单日期 ,a.FInterID,a.FBillNo 订单编号,ss1.fname 销售模式
FROM dbo.SEOrder a INNER JOIN dbo.SEOrderEntry b ON a.FInterID = b.FInterID
INNER JOIN dbo.t_MeasureUnit b1 ON b.FUnitID=b1.FMeasureUnitID
INNER JOIN dbo.t_ICItem c ON b.FItemID = c.FItemID INNER JOIN dbo.t_Organization d ON a.FCustID=d.FItemID
INNER JOIN dbo.t_Currency a1 ON a.FCurrencyID=a1.FCurrencyID LEFT JOIN t_Item t7933 ON b.FEntrySelfS0150 = t7933.FItemID
LEFT JOIN dbo.t_Emp e1 ON a.FEmpID=e1.FItemID
LEFT JOIN dbo.t_SubMessage ss1 ON ss1.FInterID=a.FHeadSelfS0138 WHERE ISNULL(d.F_120,0)=1 and t7933.fname not like '%取消%'
AND a.FDate >='2014-09-23' and a.FDate<='2014-10-23' AND
CONVERT(VARCHAR(15),a.FCustID)+CONVERT(VARCHAR(15),b.FItemID)+CONVERT(VARCHAR(15),a.FCurrencyID)+b.FMapNumber
NOT IN (
SELECT CONVERT(VARCHAR(15),FCustID)+CONVERT(VARCHAR(15),FItemID)+CONVERT(VARCHAR(15),FCurrency)+FMapNumber
FROM dbo.t_Xm_SalePrice WHERE CONVERT(VARCHAR(10),GETDATE(),120)>=FQuoteTime
AND CONVERT(VARCHAR(10),GETDATE(),120)<=FDisTime ) AND a.FInterID=(SELECT min(a1.FInterID)
FROM seorder a1 INNER JOIN dbo.SEOrderEntry b1 ON a1.FInterID = b1.FInterID
WHERE a1.FCustID=a.FCustID AND b1.FItemID=b.FItemID AND b1.FMapNumber=b.FMapNumber and a1.fdate>='2014-09-23'
)
...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
fireegg
疑难问题 22,298 成员 121,727 内容