[步骤]

SELECT date_format( a.PayTime, '%Y-%m-%d') AS paytime,
SUM( CASE WHEN psku.AddAdminName IN ('凤凰重刊','智能刊登') THEN a.salesprice ELSE null END) 系统销售额,
SUM( CASE WHEN psku.AddAdminName not in ('凤凰重刊','智能刊登') THEN a.salesprice ELSE null END) 人工销售额,
SUM( CASE WHEN psku.AddAdminName IN ('凤凰重刊','智能刊登') THEN a.profits ELSE null END) 系统利润,
SUM( CASE WHEN psku.AddAdminName not in ('凤凰重刊','智能刊登') THEN a.profits ELSE null END) 人工利润,
COUNT(DISTINCT CASE WHEN psku.AddAdminName IN ('凤凰重刊','智能刊登') THEN a.OrderCode ELSE null END) 系统订单,
COUNT(DISTINCT CASE WHEN psku.AddAdminName not in ('凤凰重刊','智能刊登') THEN a.OrderCode ELSE null END) 人工订单,
SUM( CASE WHEN psku.AddAdminName IN ('凤凰重刊','智能刊登') THEN a.ProductNum + a.ProdutNumUpdate ELSE null END) 系统售出数,
SUM( CASE WHEN psku.AddAdminName not in ('凤凰重刊','智能刊登') THEN a.ProductNum + a.ProdutNumUpdate ELSE null END) 人工售出数,
SUM( CASE WHEN psku.AddAdminName IN ('凤凰重刊','智能刊登') THEN a.profits ELSE null END) /SUM( CASE WHEN psku.AddAdminName IN ('凤凰重刊','智能刊登') THEN a.salesprice ELSE null END) 系统利润率,
SUM( CASE WHEN psku.AddAdminName not in ('凤凰重刊','智能刊登') THEN a.profits ELSE null END)/SUM( CASE WHEN psku.AddAdminName not in ('凤凰重刊','智能刊登') THEN a.salesprice ELSE null END) 人工利润率
FROM rb_report_ordersettlement a
INNER JOIN rb_ordersource os
ON a.CustomerID = os.CustomerID AND a.ordersourceid = os.id
INNER JOIN rb_product_ordersourcesku psku
ON psku.CustomerID=a.CustomerID AND psku.OrderSourceSKU=a.sellersku AND psku.OrderSourceID=os.id
--AND psku.AddTime>= DATEADD(DAY,-30,CONVERT(VARCHAR(10),GETDATE(),120))
WHERE a.CustomerID = 1
AND paytime >=date_add(curdate(),interval -30 day)
AND os.OrderSourceType=2
AND os.OrderSourceName LIKE '直发%'
AND a.OrderStatus != 2
GROUP BY date_format( a.PayTime, '%Y-%m-%d')
order by paytime
[结果]
[期望]
查明原因,是不是源端问题
上次异常只重刷近5天数据
目前解决方式数仓这边全量重刷一次,跟源端数据对齐