10 回答

TA貢獻2011條經驗 獲得超2個贊
試試這個sql文
--日期? CreateTime
--門店?shop?
--商品?goods
--超庫存次數 PerCount
SELECT temp.shop,temp.goods,ceiling(COUNT(1)*1.0/3) AS PerCount
FROM
(???????
?SELECT? CreateTime,shop,Goods,StockCount
?FROM??? testStock ts
?WHERE?? stockCount > 0 AND (DATENAME(dw,CreateTime)<>'sunday' AND DATENAME(dw,CreateTime)<>'Saturday')
???AND EXISTS ( SELECT 1
?????? FROM?? testStock
?????? WHERE? stockCount > 0
????????AND ts.goods = goods
????????AND
????????(
?????????DATEDIFF(DAY, ts.CreateTime, CreateTime) = 1
?????????OR
?????????(
??????????DATENAME(dw,CreateTime)='Saturday' AND DATEDIFF(DAY, ts.CreateTime, CreateTime)=3
?????????)
????????)
??????? )
???AND EXISTS ( SELECT 1
?????? FROM?? testStock
?????? WHERE? stockCount > 0
????????AND ts.goods = goods
????????AND
????????(
?????????DATEDIFF(DAY, ts.CreateTime, CreateTime) = 2
?????????OR
?????????(
??????????DATENAME(dw,CreateTime)='sunday' AND DATEDIFF(DAY, ts.CreateTime, CreateTime)=4
?????????)
????????)
??????? )?????
)
temp
GROUP BY temp.shop,temp.goods

TA貢獻1801條經驗 獲得超16個贊
你好,
先分析下你的源數據表的格式是
超庫存表 {?日期, 門店, 商品, 超庫存次數 }
請問有為源表設置集聚索引(主鍵)嗎?
?
然后你在說一下你具體需要得到的結果表的列數及他們的列名具體是什么要求?
畢竟
結果表 { 日期, 星期N, 超庫存次數 }
這個應該不是你想要的結果表的規格!
- 10 回答
- 0 關注
- 871 瀏覽
添加回答
舉報