select s.ID,s.SaleShopId,s.SaleShopName,s.Code,s.SaleName,s.InsertName,s.SaleTime,s.PayStatu,s.CustomerCommpanyName,s.CustomerMobile,s.CustomerName,s.IsCancel,s.IsFree, s.LastAllPrice,s.AllPrice,(select ISNULL(sum(p.Price),0) from TB_ShopSalePay p where p.SaleId=s.ID and p.IsPass=1)as PassPrice, (select ISNULL(sum(p.Price),0) from TB_ShopSalePay p where p.SaleId=s.ID and p.IsPass=0)as NoPassPrice, (select ISNULL(sum(p.Price),0) from TB_ShopSaleRefund p where p.CodeId=s.ID and p.IsPass=1 and p.IsTrue=1)as TrueReturn, (select ISNULL(sum(p.Price),0) from TB_ShopSaleRefund p where p.CodeId=s.ID and p.IsPass=1 and p.IsTrue=0)as FalseReturn, s.IsCrab,s.IsProduct, s.AddTime,s.IsDaiLi from TB_ShopSale s
select s.ID,s.SaleShopId,s.SaleShopName,s.Code,s.SaleName,s.InsertName,s.SaleTime,s.PayStatu,s.CustomerCommpanyName,s.CustomerMobile,s.CustomerName,s.IsCancel,s.IsFree, s.LastAllPrice,s.AllPrice,ISNULL(sum(p.Price),0) as PassPrice, ISNULL(sum(p2.Price),0) as NoPassPrice, ISNULL(sum(p3.Price),0) as TrueReturn, ISNULL(sum(p4.Price),0) as FalseReturn, s.IsCrab,s.IsProduct, s.AddTime,s.IsDaiLi from TB_ShopSale s left outer join TB_ShopSalePay p on p.SaleId=s.ID and p.IsPass=1 left join TB_ShopSalePay p2 on p2.SaleId=s.ID and p2.IsPass=0 left join TB_ShopSaleRefund p3 on p3.CodeId=s.ID and p3.IsPass=1 and p3.IsTrue=1 left join TB_ShopSaleRefund p4 on p4.CodeId=s.ID and p4.IsPass=1 and p4.IsTrue=0 group by s.ID,s.SaleShopId,s.SaleShopName,s.Code,s.SaleName,s.InsertName,s.SaleTime,s.PayStatu,s.CustomerCommpanyName,s.CustomerMobile,s.CustomerName,s.IsCancel,s.IsFree,s.LastAllPrice,s.AllPrice,s.IsCrab,s.IsProduct,s.AddTime,s.IsDaiLi
后一种,你可以执行一下
第一种: SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (29498 行受影响) 表 'TB_ShopSaleRefund'。扫描计数 18,逻辑读取 238 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TB_ShopSalePay'。扫描计数 18,逻辑读取 3058 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TB_ShopSale'。扫描计数 9,逻辑读取 2373 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 (29 行受影响) SQL Server 执行时间: CPU 时间 = 155 毫秒,占用时间 = 481 毫秒。 第二种: SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 (29498 行受影响) 表 'TB_ShopSalePay'。扫描计数 18,逻辑读取 3058 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TB_ShopSaleRefund'。扫描计数 18,逻辑读取 238 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'TB_ShopSale'。扫描计数 9,逻辑读取 2373 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 表 'Worktable'。扫描计数 11,逻辑读取 111 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。 警告: 聚合或其他 SET 操作消除了 Null 值。 (23 行受影响) SQL Server 执行时间: CPU 时间 = 94 毫秒,占用时间 = 485 毫秒。