[英]SQL group by date gang within data range
在sql中查詢如下表的最佳方法是什么?
我需要確定PackListGrp
變量( PICKONLY
或JITPICK
由) expectedshipdate
, deliverymethod
對於給定的OrderID
。
當expectedshipdate
是在2天內為每個訂單項則PackListGrp
用於將JITPICK
。
當expectedshipdate
DeliveryMethod
日期> 2天時,“提貨DeliveryMethod
將為“ PickOnly
而“ PSIEST
JITPICK
。
基本上,我只是在試圖組合由Expectedshipdate確定的訂單項。
謝謝
OrderID ExpectedShipDate Sku DeliveryMethod PackListGrp
66064 13-Sep-18 22-81506 Pick PickOnly
66064 13-Sep-18 878-85487 Pick PickOnly
66064 13-Sep-18 5-4878- Pick PickOnly
66064 13-Sep-18 3-020-02 Pick PickOnly
66064 13-Sep-18 7-209-23 Pick PickOnly
66064 13-Sep-18 7-206-05 Pick PickOnly
66064 13-Sep-18 7-305-08 Pick PickOnly
66064 13-Sep-18 7-567-20 Pick PickOnly
66064 18-Sep-18 6-104-24 Pick JITPICK
66064 19-Sep-18 TCC_KS PSIEST JITPICK
66064 17-Sep-18 TCF-DK PSIEST JITPICK
您是否只需要一個case
表達式?
select t.*,
(case when datediff(day, t. expectedshipdate, getdate()) <= 2
then 'JITPICK'
else 'PICKONLY'
end) as packlistgrp
from t;
如果我理解正確,那么您想將PackListGroup用作計算字段。
如果正確,此代碼將為您提供幫助
SELECT
CASE
WHEN ExpectedShipDate BETWEEN DATEADD(DAY,-2,GETDATE()) AND GETDATE() THEN 'JITPICK'
WHEN ExpectedShipDate > DATEADD(DAY,-2,GETDATE()) THEN 'PickOnly'
ELSE 'JITPICK' END AS PackListGrp
FROM
yourTable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.