重现步骤

[步骤]

DROP TABLE IF EXISTS #temp_OrderSourceType SELECT  a.OrderSourceType,     a.OrderSourceTypeName  INTO #temp_OrderSourceType FROM(  SELECT 1 OrderSourceType , '亚马逊平台' OrderSourceTypeName UNION  SELECT 2 OrderSourceType , 'Ebay平台' OrderSourceTypeName UNION  SELECT 3 OrderSourceType , '团购平台' OrderSourceTypeName UNION  SELECT 4 OrderSourceType , 'B2C网站平台' OrderSourceTypeName UNION  SELECT 5 OrderSourceType , '赠送订单' OrderSourceTypeName UNION  SELECT 6 OrderSourceType , '枪手订单' OrderSourceTypeName UNION  SELECT 7 OrderSourceType , '问题订单重发' OrderSourceTypeName UNION  SELECT 8 OrderSourceType , '问题订单补发' OrderSourceTypeName UNION  SELECT 9 OrderSourceType , '代发货渠道' OrderSourceTypeName UNION  SELECT 10 OrderSourceType , '亚马逊FBA' OrderSourceTypeName UNION  SELECT 19 OrderSourceType , '其他第三方渠道' OrderSourceTypeName UNION  SELECT 20 OrderSourceType , '本地仓库备库订单' OrderSourceTypeName UNION  SELECT 21 OrderSourceType , '海外仓库备库订单' OrderSourceTypeName UNION  SELECT 22 OrderSourceType , '亚马逊仓库备库订单' OrderSourceTypeName UNION  SELECT 23 OrderSourceType , 'Wish平台' OrderSourceTypeName UNION  SELECT 24 OrderSourceType , '共享平台' OrderSourceTypeName UNION  SELECT 25 OrderSourceType , '速卖通平台' OrderSourceTypeName UNION  SELECT 26 OrderSourceType , '麦进斗平台' OrderSourceTypeName UNION  SELECT 27 OrderSourceType , '敦煌平台' OrderSourceTypeName UNION  SELECT 28 OrderSourceType , 'PayPal交易平台' OrderSourceTypeName UNION  SELECT 29 OrderSourceType , '新蛋平台' OrderSourceTypeName UNION  SELECT 30 OrderSourceType , 'LetsEcig平台' OrderSourceTypeName UNION  SELECT 31 OrderSourceType , 'Meetgift平台' OrderSourceTypeName UNION  SELECT 32 OrderSourceType , 'Qoo10平台' OrderSourceTypeName UNION  SELECT 33 OrderSourceType , 'Lazada平台' OrderSourceTypeName UNION  SELECT 34 OrderSourceType , 'Alibaba平台' OrderSourceTypeName UNION  SELECT 35 OrderSourceType , 'Cdiscount平台' OrderSourceTypeName UNION  SELECT 36 OrderSourceType , 'Linio平台' OrderSourceTypeName UNION  SELECT 37 OrderSourceType , 'Bellabuy平台' OrderSourceTypeName UNION  SELECT 38 OrderSourceType , '京东平台' OrderSourceTypeName UNION  SELECT 39 OrderSourceType , 'Tophatter平台' OrderSourceTypeName UNION  SELECT 40 OrderSourceType , 'PriceMinister平台' OrderSourceTypeName UNION  SELECT 41 OrderSourceType , 'Mercadolibre平台' OrderSourceTypeName UNION  SELECT 42 OrderSourceType , 'Shopee平台' OrderSourceTypeName UNION  SELECT 43 OrderSourceType , 'Kamvio平台' OrderSourceTypeName UNION  SELECT 44 OrderSourceType , 'Amazonvendorexpress平台' OrderSourceTypeName UNION  SELECT 45 OrderSourceType , 'Walmart平台' OrderSourceTypeName UNION  SELECT 46 OrderSourceType , 'Deal平台' OrderSourceTypeName UNION  SELECT 47 OrderSourceType , 'Jumia平台' OrderSourceTypeName UNION  SELECT 48 OrderSourceType , 'Jet平台' OrderSourceTypeName UNION  SELECT 49 OrderSourceType , 'Sears平台' OrderSourceTypeName UNION  SELECT 50 OrderSourceType , 'Shopify平台' OrderSourceTypeName UNION  SELECT 51 OrderSourceType , 'Joom平台' OrderSourceTypeName UNION  SELECT 52 OrderSourceType , 'MyMall平台' OrderSourceTypeName UNION  SELECT 53 OrderSourceType , 'FactoryMarket平台' OrderSourceTypeName UNION  SELECT 54 OrderSourceType , 'Fyndiq平台' OrderSourceTypeName UNION  SELECT 55 OrderSourceType , '京东国内平台' OrderSourceTypeName UNION  SELECT 56 OrderSourceType , 'Oberlo平台' OrderSourceTypeName UNION  SELECT 57 OrderSourceType , '速卖通V2平台' OrderSourceTypeName UNION  SELECT 58 OrderSourceType , 'LazadaV2平台' OrderSourceTypeName UNION  SELECT 59 OrderSourceType , 'Yandex平台' OrderSourceTypeName UNION  SELECT 60 OrderSourceType , 'Paytm平台' OrderSourceTypeName UNION  SELECT 61 OrderSourceType , '京东国际平台' OrderSourceTypeName UNION  SELECT 62 OrderSourceType , 'Vova平台' OrderSourceTypeName UNION  SELECT 63 OrderSourceType , '京东印尼平台' OrderSourceTypeName UNION  SELECT 64 OrderSourceType , 'UMKA平台' OrderSourceTypeName UNION  SELECT 65 OrderSourceType , 'Rakuten平台' OrderSourceTypeName UNION  SELECT 66 OrderSourceType , '值点平台' OrderSourceTypeName UNION  SELECT 67 OrderSourceType , 'Allegro平台' OrderSourceTypeName UNION  SELECT 68 OrderSourceType , '亲库平台' OrderSourceTypeName UNION  SELECT 69 OrderSourceType , 'ZoodMall' OrderSourceTypeName UNION  SELECT 70 OrderSourceType , 'Mercadolibre国际平台' OrderSourceTypeName UNION  SELECT 71 OrderSourceType , 'Gmarket平台' OrderSourceTypeName UNION  SELECT 72 OrderSourceType , 'Auction平台' OrderSourceTypeName UNION  SELECT 73 OrderSourceType , 'Coupang平台' OrderSourceTypeName UNION  SELECT 74 OrderSourceType , 'FacebookMarketplace平台' OrderSourceTypeName UNION  SELECT 75 OrderSourceType , 'KauflandDe平台' OrderSourceTypeName UNION  SELECT 76 OrderSourceType , '阿里巴巴国际站平台' OrderSourceTypeName UNION  SELECT 77 OrderSourceType , 'RatukenDE平台' OrderSourceTypeName UNION  SELECT 78 OrderSourceType , 'Wayfair平台' OrderSourceTypeName UNION  SELECT 79 OrderSourceType , '店匠平台' OrderSourceTypeName UNION  SELECT 80 OrderSourceType , 'B2W平台' OrderSourceTypeName UNION  SELECT 81 OrderSourceType , 'Kogan平台' OrderSourceTypeName UNION  SELECT 82 OrderSourceType , 'Fruugo平台' OrderSourceTypeName UNION  SELECT 83 OrderSourceType , 'Komplett平台' OrderSourceTypeName UNION  SELECT 84 OrderSourceType , 'Digitect平台' OrderSourceTypeName UNION  SELECT 85 OrderSourceType , 'Yahoo平台' OrderSourceTypeName UNION  SELECT 86 OrderSourceType , 'Bukalapak平台' OrderSourceTypeName UNION  SELECT 87 OrderSourceType , '沃尔玛DSV平台' OrderSourceTypeName UNION  SELECT 88 OrderSourceType , 'Shopyy平台' OrderSourceTypeName UNION  SELECT 89 OrderSourceType , 'L192平台' OrderSourceTypeName UNION  SELECT 90 OrderSourceType , 'OTTO平台' OrderSourceTypeName UNION  SELECT 91 OrderSourceType , 'CrossMall平台' OrderSourceTypeName UNION  SELECT 92 OrderSourceType , 'Fnac平台' OrderSourceTypeName UNION  SELECT 93 OrderSourceType , 'Darty平台' OrderSourceTypeName UNION  SELECT 94 OrderSourceType , 'EPrice平台' OrderSourceTypeName UNION  SELECT 95 OrderSourceType , 'Daraz平台' OrderSourceTypeName UNION  SELECT 96 OrderSourceType , 'Americanas平台' OrderSourceTypeName UNION  SELECT 97 OrderSourceType , 'ShopeeV2平台' OrderSourceTypeName UNION  SELECT 98 OrderSourceType , 'Snapdeal平台' OrderSourceTypeName UNION  SELECT 99 OrderSourceType , 'Submarino平台' OrderSourceTypeName UNION  SELECT 100 OrderSourceType , 'Overstock平台' OrderSourceTypeName UNION  SELECT 101 OrderSourceType , 'ManoMano平台' OrderSourceTypeName UNION  SELECT 102 OrderSourceType , 'RueduCommerce平台' OrderSourceTypeName UNION  SELECT 103 OrderSourceType , 'TradeMe平台' OrderSourceTypeName UNION  SELECT 104 OrderSourceType , 'TikTok平台' OrderSourceTypeName UNION  SELECT 105 OrderSourceType , 'Worten平台' OrderSourceTypeName UNION  SELECT 106 OrderSourceType , 'PayPayMall平台' OrderSourceTypeName UNION  SELECT 107 OrderSourceType , 'Target平台' OrderSourceTypeName UNION  SELECT 108 OrderSourceType , 'Flipkart平台' OrderSourceTypeName UNION  SELECT 109 OrderSourceType , 'BestBuy平台' OrderSourceTypeName UNION  SELECT 110 OrderSourceType , 'BolCom平台' OrderSourceTypeName UNION  SELECT 111 OrderSourceType , 'Tokopedia平台' OrderSourceTypeName UNION  SELECT 112 OrderSourceType , 'SHOPLINE平台' OrderSourceTypeName UNION  SELECT 114 OrderSourceType , 'Akulaku平台' OrderSourceTypeName UNION  SELECT 115 OrderSourceType , 'Funpinpin平台' OrderSourceTypeName UNION  SELECT 116 OrderSourceType , 'Fannoshop平台' OrderSourceTypeName UNION  SELECT 117 OrderSourceType , 'OnBuy' OrderSourceTypeName UNION  SELECT 118 OrderSourceType , 'HomeDepot' OrderSourceTypeName UNION  SELECT 119 OrderSourceType , 'WooCommerce' OrderSourceTypeName UNION  SELECT 120 OrderSourceType , 'Thisshop' OrderSourceTypeName UNION  SELECT 121 OrderSourceType , 'XShoppy' OrderSourceTypeName UNION  SELECT 124 OrderSourceType , 'Catch平台' OrderSourceTypeName UNION  SELECT 125 OrderSourceType , '拼多多跨境' OrderSourceTypeName UNION  SELECT 126 OrderSourceType , 'Blidz平台' OrderSourceTypeName UNION  SELECT 127 OrderSourceType , 'Microsoft平台' OrderSourceTypeName  )a;  --158库运行程序 
--DECLARE @StartTime DATETIME --DECLARE @EndTime DATETIME --DECLARE @CustomerID INT --SET @StartTime = '2023-03-01' --SET @EndTime = '2023-03-01 23:59:59' --SET @CustomerID = 1  
DROP TABLE IF EXISTS #temp DROP TABLE IF EXISTS #temp_firsttime DROP TABLE IF EXISTS #temp1 DROP TABLE IF EXISTS #temp_sh DROP TABLE IF EXISTS #temp_ph DROP TABLE IF EXISTS #temp_distribution DROP TABLE IF EXISTS #temp_sale DROP TABLE IF EXISTS #temp_cf DROP TABLE IF EXISTS #temp_sh DROP TABLE IF EXISTS #temp_detail DROP TABLE IF EXISTS #temp_summary_1 DROP TABLE IF EXISTS #temp_summary_2 DROP TABLE IF EXISTS #temp_summary_3 DROP TABLE IF EXISTS #temp_summary_4 DROP TABLE IF EXISTS #temp_summary_5   --判断sku前30天有无订单->是不是首单  
SELECT   DISTINCT  ol.SKU,  oi.PayTime 支付时间,  ol.OrderCode INTO #temp FROM irobotbox.dbo.RB_OrderInfo oi --订单表 
LEFT JOIN irobotbox.dbo.RB_OrderList ol ON ol.CustomerID = oi.CustomerID AND ol.OrderCode=oi.OrderCode --订单明细表 
LEFT JOIN irobotbox.dbo.RB_WareHouse wh(NOLOCK) ON  oi.WareHouseID=wh.ID AND oi.CustomerID=wh.CustomerID --仓库表 
WHERE oi.PayTime>=DATEADD(DAY,-30,@StartTime) AND ol.CustomerID=1 AND wh.WareHouseType =1 --1是本地 
AND oi.IsStockOrder = 0 AND ol.SKU IS NOT NULL AND oi.IsPay=1 --支付成功  
SELECT   ol.SKU,  oi.PayTime 支付时间,  SUM(CASE WHEN (a.支付时间>=DATEADD(DAY,-30,oi.PayTime) AND a.支付时间<oi.PayTime) THEN 1 ELSE 0 END) 订单支付前30天订单数 INTO #temp_firsttime FROM irobotbox.dbo.RB_OrderInfo oi --订单表 LEFT JOIN irobotbox.dbo.RB_OrderList ol ON ol.CustomerID = oi.CustomerID AND ol.OrderCode=oi.OrderCode --订单明细表 LEFT JOIN irobotbox.dbo.RB_WareHouse wh(NOLOCK) ON  oi.WareHouseID=wh.ID AND oi.CustomerID=wh.CustomerID --仓库表 LEFT JOIN #temp a ON a.SKU=ol.SKU WHERE  oi.PayTime>=@StartTime AND oi.PayTime<=@EndTime --AND oi.PayTime>=DATEADD(DAY,-30,GETDATE()) AND ol.CustomerID=1 AND wh.WareHouseType =1 --1是本地 AND oi.IsStockOrder = 0 AND ol.SKU IS NOT NULL AND oi.IsPay=1 --支付成功 GROUP BY ol.SKU,oi.PayTime  --SELECT * FROM #temp_firsttime   SELECT   DISTINCT  wh.WareHouseName 发货仓,  oi.OrderCode 订单号,  oi.ClientOrderCode 平台订单号,  ol.SKU,  (ProductNum+ProductNumUpdate) 产品数,  p.ProductNameCN 中文名,  ost.OrderSourceTypeName 平台,  oi.PayTime 支付时间,  oi.AddTime 添加时间,  (CASE    WHEN oi.ShipTime='2000-01-01 00:00:00.000' THEN NULL   ELSE oi.ShipTime   END) 发货时间,  os.SaleAdminName 销售人员,  dp2.DepartmentName 销售小组,  (CASE WHEN ol.BuyerID=0 THEN pa.BuyerName ELSE ol.BuyerName END) 采购人员,  (CASE WHEN ol.BuyerID=0 THEN pa.BuyerID ELSE ol.BuyerID END) 采购人员id,  --dp.DepartmentName 采购组,  (CASE WHEN ft.订单支付前30天订单数=0 THEN '是' ELSE '否' END) 近30天是否首单,  (CASE oi.OrderStatus   WHEN 0 THEN '正常'   WHEN 1 THEN '待审核'   WHEN 2 THEN '作废'   WHEN 3 THEN '锁定'   WHEN 4 THEN '只锁定发货'    WHEN 5 THEN '已完成'    WHEN 6 THEN '待确认'  END) 订单状态,  --(CASE p.ProductState  -- WHEN 0 THEN '正常'  -- WHEN 1 THEN '停产'  -- WHEN 2 THEN '停产不可批发'  -- WHEN 3 THEN '锁定'  --END) 产品状态,  (CASE p.ProductState   WHEN 0 THEN '正常'   WHEN 1 THEN '起批量'   WHEN 2 THEN '停产'   WHEN 3 THEN '锁定'   WHEN 4 THEN '暂时缺货'   WHEN 5 THEN '清库'  END) 产品状态,  CASE WHEN p.ProductState=2 THEN p.ProdutStopDate END 停产时间,  rf.CauseID,  rf.ParentID,  rf2.CauseName 退款原因,  CASE oi.OrderState   WHEN 0 THEN '未发货'   WHEN 1 THEN '部分发货'   WHEN 2 THEN '全部发货'   WHEN 3 THEN '妥投'   END 订单发货状态,  (CASE WHEN  oi2.OrderCode IS NULL THEN oi.OrderCode ELSE oi2.OrderCode END) [合并订单号(主)] INTO #temp1 FROM irobotbox.dbo.RB_OrderInfo oi(NOLOCK)   --订单表 LEFT JOIN irobotbox.dbo.RB_OrderList  ol(NOLOCK) ON ol.CustomerID = oi.CustomerID AND ol.OrderCode=oi.OrderCode --订单明细表 LEFT JOIN irobotbox.dbo.RB_WareHouse wh(NOLOCK) ON  oi.WareHouseID=wh.ID AND oi.CustomerID=wh.CustomerID --仓库表 LEFT JOIN irobotbox.dbo.RB_Product p(NOLOCK) ON p.CustomerID=ol.CustomerID AND p.SKU=ol.SKU --产品表 --LEFT JOIN irobotbox.dbo.RB_Procurement_Order_Package pop(NOLOCK) ON pop.CustomerID=oi.CustomerID AND pop.MergerPackageNo=oi.OrderCode --仓库包裹表 LEFT JOIN irobotbox.dbo.RB_OrderSource os(NOLOCK) ON os.CustomerID=ol.CustomerID AND os.id=oi.OrderSourceID LEFT JOIN #temp_OrderSourceType ost ON os.OrderSourceType=ost.OrderSourceType LEFT JOIN irobotbox.dbo.RB_Product_Admin pa(NOLOCK) ON pa.SKU=ol.SKU AND ol.CustomerID = pa.CustomerID --部分订单表上没有采购人员,使用对应sku默认采购人员 --LEFT JOIN irobotbox.dbo.RB_Admin ad(NOLOCK) ON ad.CustomerID=ol.customerID AND ol.BuyerID=ad.ID --LEFT JOIN irobotbox.dbo.RB_Department dp(NOLOCK) ON dp.CustomerID=ol.customerID AND ad.DepartmentID=dp.ID  LEFT JOIN irobotbox.dbo.RB_Admin ad2(NOLOCK) ON ad2.CustomerID = ol.CustomerID AND os.SaleAdminID=ad2.ID LEFT JOIN irobotbox.dbo.RB_Department dp2(NOLOCK)  ON dp2.CustomerID=ol.customerID AND ad2.DepartmentID=dp2.ID  LEFT JOIN irobotbox.dbo.RB_OrderInfo_FundReceipt oifr(NOLOCK) ON oifr.CustomerID= oi.CustomerID AND oifr.OrderCode=oi.OrderCode  LEFT JOIN irobotbox.dbo.RB_OrderInfo_RefundCause rf(NOLOCK) ON rf.CustomerID = oi.CustomerID AND oifr.ReasonTypes=rf.CauseID  LEFT JOIN irobotbox.dbo.RB_OrderInfo_RefundCause rf2(NOLOCK) ON rf.CustomerID = rf2.CustomerID AND rf2.CauseID=rf.ParentID --为了关联一级原因 --AND rf.CauseLevel=1 LEFT JOIN #temp_firsttime ft ON ft.SKU = ol.SKU AND ft.支付时间=oi.PayTime  LEFT JOIN irobotbox.dbo.RB_OrderInfo oi2(NOLOCK) ON oi.MergeOrderCode=oi2.ID AND oi2.CustomerID = oi.CustomerID  --订单表 WHERE ol.CustomerID=@CustomerID AND oi.PayTime>=@StartTime AND oi.PayTime<=@EndTime AND wh.WareHouseType =1 --1是本地 AND oi.IsStockOrder = 0 AND (ProductNum+ProductNumUpdate)>0 AND p.ProductNameCN IS NOT NULL AND oi.IsPay=1 --支付成功   --SELECT  * FROM #temp1 WHERE 订单号='202211120257129984397' --114库订单日志表数据 --SELECT  -- oil.OrderCode, -- MIN(oil.AddTime) AddTime --INTO #temp_sh --FROM dbo.RB_OrderInfo_log oil(NOLOCK)  --WHERE -- oil.AddTime>= (SELECT MIN(添加时间) FROM #temp1) -- AND oil.OrderLog LIKE '%订单%状态%设置为待发货%' --GROUP BY oil.OrderCode --SELECT  -- oil.OrderCode, -- MIN(oil.AddTime) AddTime --INTO #temp_ph --FROM dbo.RB_OrderInfo_log oil(NOLOCK)  --WHERE -- oil.AddTime>= (SELECT MIN(添加时间) FROM #temp1) -- AND oil.OrderLog LIKE '%已配货%' --GROUP BY oil.OrderCode    --订单配货时间 SELECT   a.MergerPackageNo,  a.DistributionTime INTO #temp_distribution FROM (  SELECT    pop.CustomerID,   pop.MergerPackageNo,   pop.DistributionTime,    ROW_NUMBER() OVER(PARTITION BY pop.CustomerID,pop.MergerPackageNo ORDER BY pop.DistributionTime ASC) rk  FROM irobotbox.dbo.RB_Procurement_Order_Package pop(NOLOCK)  WHERE pop.CustomerID=1  AND pop.MergerPackageNo IN (SELECT DISTINCT t.[合并订单号(主)] FROM #temp1 t) ) a WHERE a.rk=1 --AND a.MergerPackageNo='202303020636138005415'   --近30天销量数据 SELECT t1.SKU, t1.支付时间, SUM(CASE WHEN (oi.PayTime > DATEADD(DAY,-30,t1.支付时间) AND oi.PayTime <= t1.支付时间 ) THEN (ISNULL(ol.ProductNum,0)+ISNULL(ol.ProductNumUpdate,0)) ELSE 0 END) num INTO #temp_sale FROM #temp1 t1 LEFT JOIN dbo.RB_OrderList ol ON ol.CustomerID = 1 AND ol.SKU = t1.SKU LEFT JOIN  dbo.RB_OrderInfo oi(NOLOCK) ON ol.CustomerID = oi.CustomerID AND ol.OrderCode = oi.OrderCode LEFT JOIN dbo.RB_WareHouse w(NOLOCK) ON w.CustomerID = oi.CustomerID AND w.ID=oi.WareHouseID WHERE   w.WareHouseType=1  AND oi.IsStockOrder=0  AND ol.CustomerID=1  AND oi.OrderStatus!=2  --AND sku='14401430 ' GROUP BY  t1.SKU,t1.支付时间    --拆分订单 SELECT DISTINCT  t.订单号 INTO #temp_cf FROM (  SELECT    t1.订单号,   t1.平台订单号,   t1.添加时间,   RANK() OVER (PARTITION BY t1.平台订单号 ORDER BY t1.添加时间) r  FROM #temp1 t1 ) t WHERE t.r>1    SELECT   oc.OrderCode 订单号,  MAX(oc.SetNormalTime) 审核时间  INTO #temp_sh FROM RB_OrderInfo_ClientExpand oc(NOLOCK) INNER JOIN #temp1 t ON t.订单号 = oc.OrderCode AND oc.CustomerID =1 GROUP BY oc.OrderCode    -- 查询明细表 SELECT    a.发货仓,     a.订单号,     a.SKU,     a.产品数,  s.num*1.00/30 本地仓近30天日均销量,     a.中文名,     a.平台,     a.支付时间,     a.添加时间,     a.发货时间,     sh.审核时间,     d.DistributionTime 配货时间,  CASE WHEN d.DistributionTime IS NOT NULL THEN DATEDIFF(MINUTE,a.支付时间,d.DistributionTime)*1.00/1440 ELSE DATEDIFF(MINUTE,a.支付时间,GETDATE())*1.00/1440 END 配货天数,     a.销售人员,     a.销售小组,     a.采购人员,     dp.DepartmentName 采购组,     a.近30天是否首单,     a.订单状态,     a.产品状态,  a.停产时间,     a.退款原因,  a.订单发货状态,  CASE WHEN cf.订单号 IS NULL THEN '否' ELSE '是' END '是否拆分/重建单',  CASE    WHEN (a.近30天是否首单='否'    AND NOT(     (a.发货时间 IS NULL AND a.退款原因!='缺货(item is out of stock)' AND a.退款原因 IS NOT NULL)     OR (a.发货时间 IS NULL AND a.订单状态='作废' AND a.退款原因 IS NULL)    )    AND a.SKU!='3270453'--补差价专拍剔除    AND  cf.订单号 IS NULL) THEN '否'   ELSE '是' END 是否断货剔除      --'是' 是否断货剔除  --a.CauseID,  --a.ParentID INTO #temp_detail FROM #temp1 a --LEFT JOIN #temp_sh b ON a.订单号=b.OrderCode --LEFT JOIN #temp_ph c ON a.订单号=c.OrderCode LEFT JOIN #temp_distribution d ON a.[合并订单号(主)]=d.MergerPackageNo LEFT JOIN irobotbox.dbo.RB_Admin ad(NOLOCK) ON ad.CustomerID=1 AND a.采购人员id=ad.ID LEFT JOIN irobotbox.dbo.RB_Department dp(NOLOCK) ON dp.CustomerID=1 AND ad.DepartmentID=dp.ID  LEFT JOIN #temp_sale s ON s.SKU = a.SKU AND s.支付时间 = a.支付时间 LEFT JOIN #temp_cf cf ON cf.订单号 = a.订单号 LEFT JOIN #temp_sh sh ON sh.订单号 = a.订单号  --d --SET d.是否断货剔除='否' --FROM #temp_detail d --WHERE d.近30天是否首单='否' --AND NOT( -- (d.发货时间 IS NULL AND d.退款原因!='缺货(item is out of stock)' AND d.退款原因 IS NOT NULL) -- OR (d.发货时间 IS NULL AND d.订单状态='作废' AND d.退款原因 IS NULL) --) --AND d.SKU!='3270453'--补差价专拍剔除 --AND d.[是否拆分/重建单]='否'     SELECT * FROM #temp_detail --WHERE 订单号='202303020636138005415' --WHERE 配货时间 IS NULL  --SELECT a.* FROM( --SELECT *,count(订单号)OVER(PARTITION BY 订单号) ran FROM #temp_detail --)a WHERE a.ran!=1 --WHERE 平台='LazadaV2平台' --AND 发货时间 IS NOT NULL --剔除未发货的订单 --AND 近30天是否首单='否' --AND (退款原因<>'缺货(item is out of stock)' OR 退款原因 IS NULL)--非缺货退款原因 --中文名 IS NULL --近30天是否首单='是' --订单号='202211150046130183728' --SKU='10004392' --采购人员 IS NULL OR 采购组 IS NULL --订单号='202211120257129984397' --退款原因 LIKE '%item is out of stock%' --采购组 IS NOT NULL --AND 退款原因 IS NOT  NULL --AND SKU IS NOT  NULL AND SKU!=''    SELECT  CONVERT(VARCHAR(7),d.支付时间,126) 支付月份,  d.采购人员,  d.采购组,  COUNT(DISTINCT CASE WHEN d.配货天数>1 THEN d.订单号 END) 断货订单数,  COUNT(DISTINCT d.订单号) 订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上断货订单数,  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5及以上断货订单数],  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5个及以上订单总数]  --COUNT(DISTINCT CASE  -- WHEN d.配货时间 IS NOT NULL   -- THEN (CASE   --   WHEN DATEDIFF(HOUR,d.支付时间,d.配货时间)>24 THEN d.订单号  --   ELSE NULL  --  END)  -- WHEN DATEDIFF(HOUR,d.支付时间,GETDATE())>24 THEN d.订单号  -- ELSE NULL  --END) 断货订单数,    INTO #temp_summary_1 FROM #temp_detail d WHERE d.是否断货剔除='否' --d.近30天是否首单='否' --AND NOT( -- (d.发货时间 IS NULL AND d.退款原因!='缺货(item is out of stock)' AND d.退款原因 IS NOT NULL) -- OR (d.发货时间 IS NULL AND d.订单状态='作废' AND d.退款原因 IS NULL) --) --AND d.SKU!='3270453'--补差价专拍剔除 --AND d.[是否拆分/重建单]='否'   GROUP BY  CONVERT(VARCHAR(7),d.支付时间,126),  d.采购人员,  d.采购组  --按支付月份/采购人员/采购组维度汇总 --  支付月份  采购人员  采购组  断货订单数  订单总数  直发单断货率 SELECT  a.*,  CAST(CAST((CASE WHEN a.订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.断货订单数)/a.订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 直发单断货率,  CAST(CAST((CASE WHEN a.日均销量2个及以上订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.日均销量2个及以上断货订单数)/a.日均销量2个及以上订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 日均销量2个及以上断货率,  CAST(CAST((CASE WHEN a.[日均销量0.5个及以上订单总数]=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.[日均销量0.5及以上断货订单数])/a.[日均销量0.5个及以上订单总数] END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' [日均销量0.5个及以上断货率] FROM #temp_summary_1 a   SELECT  CONVERT(VARCHAR(7),d.支付时间,126) 支付月份,  d.发货仓,  COUNT(DISTINCT CASE WHEN d.配货天数>1 THEN d.订单号 END) 断货订单数,  COUNT(DISTINCT d.订单号) 订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上断货订单数,  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5及以上断货订单数],  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5个及以上订单总数]  --COUNT(DISTINCT CASE  -- WHEN d.配货时间 IS NOT NULL   -- THEN (CASE   --   WHEN DATEDIFF(HOUR,d.支付时间,d.配货时间)>24 THEN d.订单号  --   ELSE NULL  --  END)  -- WHEN DATEDIFF(HOUR,d.支付时间,GETDATE())>24 THEN d.订单号  -- ELSE NULL  --END) 断货订单数,  INTO #temp_summary_2 FROM #temp_detail d WHERE d.是否断货剔除='否' --d.近30天是否首单='否' --AND NOT( -- (d.发货时间 IS NULL AND d.退款原因!='缺货(item is out of stock)' AND d.退款原因 IS NOT NULL) -- OR (d.发货时间 IS NULL AND d.订单状态='作废' AND d.退款原因 IS NULL) --) --AND d.SKU!='3270453'--补差价专拍剔除 --AND d.[是否拆分/重建单]='否'    GROUP BY  CONVERT(VARCHAR(7),d.支付时间,126),  d.发货仓  --按支付月份/发货仓维度汇总 --  支付月份  发货仓  断货订单数  订单总数  直发单断货率 SELECT  a.*,  CAST(CAST((CASE WHEN a.订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.断货订单数)/a.订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 直发单断货率,  CAST(CAST((CASE WHEN a.日均销量2个及以上订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.日均销量2个及以上断货订单数)/a.日均销量2个及以上订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 日均销量2个及以上断货率,  CAST(CAST((CASE WHEN a.[日均销量0.5个及以上订单总数]=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.[日均销量0.5及以上断货订单数])/a.[日均销量0.5个及以上订单总数] END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' [日均销量0.5个及以上断货率] FROM #temp_summary_2 a    SELECT  CONVERT(VARCHAR(7),d.支付时间,126) 支付月份,  d.平台,  COUNT(DISTINCT CASE WHEN d.配货天数>1 THEN d.订单号 END) 断货订单数,  COUNT(DISTINCT d.订单号) 订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上断货订单数,  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5及以上断货订单数],  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5个及以上订单总数]  --COUNT(DISTINCT CASE  -- WHEN d.配货时间 IS NOT NULL   -- THEN (CASE   --   WHEN DATEDIFF(HOUR,d.支付时间,d.配货时间)>24 THEN d.订单号  --   ELSE NULL  --  END)  -- WHEN DATEDIFF(HOUR,d.支付时间,GETDATE())>24 THEN d.订单号  -- ELSE NULL  --END) 断货订单数,  INTO #temp_summary_3 FROM #temp_detail d WHERE d.是否断货剔除='否' --d.近30天是否首单='否' --AND NOT( -- (d.发货时间 IS NULL AND d.退款原因!='缺货(item is out of stock)' AND d.退款原因 IS NOT NULL) -- OR (d.发货时间 IS NULL AND d.订单状态='作废' AND d.退款原因 IS NULL) --) --AND d.SKU!='3270453'--补差价专拍剔除 --AND d.[是否拆分/重建单]='否' GROUP BY  CONVERT(VARCHAR(7),d.支付时间,126),  d.平台  --按支付月份/平台维度汇总 --  支付月份  平台  断货订单数  订单总数  直发单断货率 SELECT  a.*,  CAST(CAST((CASE WHEN a.订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.断货订单数)/a.订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 直发单断货率,  CAST(CAST((CASE WHEN a.日均销量2个及以上订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.日均销量2个及以上断货订单数)/a.日均销量2个及以上订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 日均销量2个及以上断货率,  CAST(CAST((CASE WHEN a.[日均销量0.5个及以上订单总数]=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.[日均销量0.5及以上断货订单数])/a.[日均销量0.5个及以上订单总数] END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' [日均销量0.5个及以上断货率] FROM #temp_summary_3 a   SELECT  CONVERT(VARCHAR(10),d.支付时间,126) 支付日期,  COUNT(DISTINCT CASE WHEN d.配货天数>1 THEN d.订单号 END) 断货订单数,  COUNT(DISTINCT d.订单号) 订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上断货订单数,  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5及以上断货订单数],  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5个及以上订单总数]  --COUNT(DISTINCT CASE  -- WHEN d.配货时间 IS NOT NULL   -- THEN (CASE   --   WHEN DATEDIFF(HOUR,d.支付时间,d.配货时间)>24 THEN d.订单号  --   ELSE NULL  --  END)  -- WHEN DATEDIFF(HOUR,d.支付时间,GETDATE())>24 THEN d.订单号  -- ELSE NULL  --END) 断货订单数,  INTO #temp_summary_4 FROM #temp_detail d WHERE d.是否断货剔除='否' --d.近30天是否首单='否' --AND NOT( -- (d.发货时间 IS NULL AND d.退款原因!='缺货(item is out of stock)' AND d.退款原因 IS NOT NULL) -- OR (d.发货时间 IS NULL AND d.订单状态='作废' AND d.退款原因 IS NULL) --) --AND d.SKU!='3270453'--补差价专拍剔除 --AND d.[是否拆分/重建单]='否'  GROUP BY  CONVERT(VARCHAR(10),d.支付时间,126)  --按支付时间(按天)维度汇总 --  支付时间  断货订单数  订单总数  直发单断货率 SELECT  a.*,  CAST(CAST((CASE WHEN a.订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.断货订单数)/a.订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 直发单断货率,  CAST(CAST((CASE WHEN a.日均销量2个及以上订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.日均销量2个及以上断货订单数)/a.日均销量2个及以上订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 日均销量2个及以上断货率,  CAST(CAST((CASE WHEN a.[日均销量0.5个及以上订单总数]=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.[日均销量0.5及以上断货订单数])/a.[日均销量0.5个及以上订单总数] END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' [日均销量0.5个及以上断货率] FROM #temp_summary_4 a ORDER BY a.支付日期       SELECT  CONVERT(VARCHAR(10),d.支付时间,126) 支付日期,  COUNT(DISTINCT CASE WHEN d.配货天数>1 THEN d.订单号 END) 断货订单数,  COUNT(DISTINCT d.订单号) 订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上断货订单数,  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=2 THEN d.订单号 END) 日均销量2个及以上订单总数,  COUNT(DISTINCT CASE WHEN d.配货天数>1 AND d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5及以上断货订单数],  COUNT(DISTINCT CASE WHEN d.本地仓近30天日均销量>=0.5 THEN d.订单号 END) [日均销量0.5个及以上订单总数]  --COUNT(DISTINCT CASE  -- WHEN d.配货时间 IS NOT NULL   -- THEN (CASE   --   WHEN DATEDIFF(HOUR,d.支付时间,d.配货时间)>24 THEN d.订单号  --   ELSE NULL  --  END)  -- WHEN DATEDIFF(HOUR,d.支付时间,GETDATE())>24 THEN d.订单号  -- ELSE NULL  --END) 断货订单数,  INTO #temp_summary_5 FROM #temp_detail d WHERE d.SKU!='3270453'--补差价专拍剔除  GROUP BY  CONVERT(VARCHAR(10),d.支付时间,126)  --按支付时间(按天)维度汇总(只剔除sku 3270453) --  支付时间  断货订单数  订单总数  直发单断货率 SELECT  a.*,  CAST(CAST((CASE WHEN a.订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.断货订单数)/a.订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 直发单断货率,  CAST(CAST((CASE WHEN a.日均销量2个及以上订单总数=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.日均销量2个及以上断货订单数)/a.日均销量2个及以上订单总数 END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' 日均销量2个及以上断货率,  CAST(CAST((CASE WHEN a.[日均销量0.5个及以上订单总数]=0 THEN NULL ELSE CONVERT(DECIMAL(10,2),a.[日均销量0.5及以上断货订单数])/a.[日均销量0.5个及以上订单总数] END)*100 AS NUMERIC(10,2)) AS VARCHAR(20))+'%' [日均销量0.5个及以上断货率] FROM #temp_summary_5 a ORDER BY a.支付日期

[结果]


[期望]

 检查 导出语句SQL 补充完整的nolock
历史记录  
  1. 2025-06-03 15:21:19, 由 袁慧斌 创建。
  2. 2025-06-03 15:23:04, 由 李乐同 指派给 张明磊。
    修改了 指派给,旧值为 "liletong",新值为 "zhangminglei"。
  3. 2025-06-03 17:37:40, 由 张明磊 指派给 林渝渊。
    修改了 指派给,旧值为 "zhangminglei",新值为 "linyuyuan"。
    帮忙看下
  4. 2025-06-03 19:05:53, 由 林渝渊 解决,方案为 程序BUG 。
    修改了 解决方案,旧值为 "",新值为 "code"。
    修改了 解决版本,旧值为 "",新值为 "trunk"。
    修改了 解决日期,旧值为 "",新值为 "2025-06-03 19:05:17"。
    修改了 指派给 ,旧值为 "linyuyuan",新值为 "yuanhuibin"。
    修改了 Bug状态 ,旧值为 "active",新值为 "resolved"。
    修改了 是否确认,旧值为 "0",新值为 "1"。
    修改了 解决者 ,旧值为 "",新值为 "linyuyuan"。
    历史遗留问题,已添加nolock
  5. 2025-06-06 09:15:50, 由 袁慧斌 编辑。
    修改了 测试责任人,旧值为 "",新值为 "admin"。
    修改了 解决时效 ,旧值为 "0",新值为 "3.73"。
  6. 2025-06-06 09:16:13, 由 袁慧斌 编辑。
    修改了 上线时间,旧值为 "0000-00-00 00:00:00",新值为 "2025-06-06 09:16"。
    修改了 上线时效,旧值为 "-1",新值为 "65.91"。
  7. 2025-06-06 09:16:15, 由 袁慧斌 关闭。
    修改了 Bug状态 ,旧值为 "resolved",新值为 "closed"。
    修改了 指派给 ,旧值为 "yuanhuibin",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "yuanhuibin"。
    修改了 关闭日期,旧值为 "",新值为 "2025-06-06 09:16:15"。
  8. 2025-06-30 16:14:55, 由 陈莉珍 编辑。
    修改了 测试责任人,旧值为 "admin",新值为 "linyuyuan"。
  9. 2025-07-03 08:06:43, 由 陈莉珍 编辑。
    修改了 上线时间,旧值为 "2025-06-06 09:16:00",新值为 "2025-06-03 19:05:17"。
    修改了 上线时效,旧值为 "65.91",新值为 "3.73"。
所属项目 技术中心-需求池
所属模块 财务   客户订单
所属计划
所属迭代
Bug类型
严重程度 一般
优先级 P2
Bug状态 已关闭
业务部门 供应链管理中心
影响功能
开发责任人 林渝渊
测试责任人 林渝渊
解决时效 3.73
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2025-07-03 08:06:43
截止日期 0000-00-00
上线时间 2025-06-03 19:05:17
上线时效 3.73
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 袁慧斌 于 2025-06-03 15:21:19
影响环境 生产环境-业务反馈
由谁解决 林渝渊 于 2025-06-03 19:05:17
解决版本 主干
解决方案 程序BUG
由谁关闭 袁慧斌 于 2025-06-06 09:16:15
最后修改 陈莉珍 于 2025-07-03 08:06:43
相关Bug