簡體   English   中英

SQL數據范圍內的按日期分組

[英]SQL group by date gang within data range

在sql中查詢如下表的最佳方法是什么?

我需要確定PackListGrp變量( PICKONLYJITPICK由) expectedshipdatedeliverymethod對於給定的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM