0% found this document useful (0 votes)
4 views

New Query

Uploaded by

manju
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

New Query

Uploaded by

manju
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

SELECT

s.store_id,
s.sale_id,
s.created_date,
s.updated_at,
s.pickup_date_time,
s.delivary_datetime,
s.delivered_date,
s.grand_total,
s.user_name,
s.user_phone,
s.customer_pincode,
s.channel_type,
s.payment_type,

(CASE WHEN s.payment_type = 'Dpanda' THEN 'Dpanda'


WHEN s.payment_type = 'Unistore' THEN 'Unistore'
ELSE 'Non-Partner' END) AS payment_type_new_status,
s.delivery_status,

(CASE WHEN s.delivery_status IN ('Support Cancelled','Return Request


Received','Cancelled','Dman Cancel',
'Order Return','Refund Initiated','Refunded','RTO','Return In Transit') THEN
'Cancelled'
WHEN s.delivery_status IN ('Courier Delivered','Delivered') THEN 'Delivered'
WHEN s.delivery_status IN ('In Transit','Courier In
Transit','Pickedup','Courier Pickedup') THEN 'In Transit'
WHEN s.delivery_status IN ('On Process','Awaiting Confirmation') THEN 'On
Process'
WHEN s.delivery_status IN ('Order Closed') THEN 'Order Closed'
WHEN s.delivery_status IN ('Courier Out for Delivery','Delivery Attempted')
THEN 'Out for Delivery'
WHEN s.delivery_status IN ('Courier Pickup','Rider Assigned') THEN 'Pickup
Pending'
WHEN s.delivery_status IN ('Shipment Lost') THEN 'Shimpment Lost'
ELSE s.delivery_status END) AS reporting_status,

s.MFM_timeframe AS HoursOrDays,

IF((s.MFM_timeframe = '2 hrs'), 'Hyperlocal', 'Courier') AS Ordertype,

(CASE WHEN s.ERP_transactionid LIKE 'OFIN%' THEN 'COD'


WHEN s.ERP_transactionid LIKE 'ONI%' THEN 'Prepaid'
WHEN s.payment_type = 'Cash on delivery' THEN 'COD'
WHEN s.payment_type = 'Paytm' AND s.txn_status = 'Failed' THEN 'COD'
WHEN s.payment_type = 'Paytm' AND s.txn_status = 'Success' THEN 'Prepaid'
ELSE 'Prepaid' END) AS Payment_type2,

s.cancel_reason,
s.remark,
IF((s.is_exchange = '1'), 'Yes', 'No') AS is_exchange,
s.exchange_details,
s.dpam_selected_provider,
od.brand_name,
od.category_name,
s.customer_state,
s.customer_city,
s.customer_pincode,
store.store_name AS StoreName,
store.state AS StoreState,
store.city AS StoreCity,
store.pincode AS StorePincode,
s.customer_distance,
IF(CAST(s.created_date AS DATE) IS NULL,"-",CAST(s.created_date AS DATE)) AS
Order_Date,
IF(CAST(s.created_date AS TIME) IS NULL,"-",CAST(s.created_date AS TIME)) AS
Order_Time,
IF(CAST(s.pickup_date_time AS DATE) IS NULL, "-",CAST(s.pickup_date_time AS
DATE)) AS Pickup_Date,
IF(CAST(s.pickup_date_time AS TIME) IS NULL,"-",CAST(s.pickup_date_time AS
TIME)) AS Pickup_Time,
IF(CAST(s.delivary_datetime AS DATE) IS NULL,"-",CAST(s.delivary_datetime AS
DATE)) AS Promise_Date,
IF(CAST(s.delivary_datetime AS TIME) IS NULL,"-",CAST(s.delivary_datetime AS
TIME)) AS Promise_Time,
IF(CAST(s.delivered_date AS DATE) IS NULL,"-",CAST(s.delivered_date AS DATE))
AS Delivered_Date,
IF(CAST(s.delivered_date AS TIME) IS NULL,"-",CAST(s.delivered_date AS TIME))
AS Delivered_Time,

(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier


Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END) AS Open_Orders,

(CASE WHEN s.MFM_timeframe != '2 hrs'THEN (CASE WHEN s.delivery_status IN ('On


Process','Awaiting Confirmation','Courier Pickup','Rider Assigned','Delivery
Attempted')
THEN (CURRENT_DATE - CAST(s.created_date AS DATE))
WHEN s.delivery_status IN ('In Transit') THEN (CURRENT_DATE -
CAST(s.created_date AS DATE))
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN (CURRENT_DATE -
CAST(s.created_date AS DATE))
ELSE 0 END)ELSE "-" END) AS Courier_Breached,

(CASE WHEN s.MFM_timeframe = '2 hrs'THEN (CASE WHEN s.delivery_status IN ('On


Process','Awaiting Confirmation','Rider Assigned','Delivery Attempted')
THEN TIMEDIFF(ADDTIME("05:30:00",SYSDATE()),s.created_date)
WHEN s.delivery_status IN ('In Transit') THEN
TIMEDIFF(ADDTIME("05:30:00",SYSDATE()),s.created_date)
WHEN s.delivery_status IN ('Pickedup') THEN
TIMEDIFF(ADDTIME("05:30:00",SYSDATE()),s.created_date)
ELSE 0 END)ELSE "-" END) AS Hyperlocal_Breached,

IF((CAST(s.created_date AS DATE)) = (CAST(s.delivered_date AS DATE)),1,0) AS


SDD,
IF((CAST(s.created_date AS DATE)) < (CAST(s.delivered_date AS DATE)),1,0) AS
NDD,

IF((CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS


DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END) IS NULL,"-",
(CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS DATE))-
(CAST(s.created_date AS DATE))) ELSE "-" END)) AS O_D_TAT_Courier,

(CASE
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END) IN ("-") THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END) IS NULL THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=31 THEN "G.>31 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=16 THEN "F.16-30 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=11 THEN "E.11-15 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=8 THEN "D.8-10 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=5 THEN "C.5-7 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=3 THEN "B.3-4 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=0 THEN "A.0-2 Days"
END) AS O_D_TAT_Courier_Slab,

IF((CASE WHEN s.MFM_timeframe = '2 hrs' THEN


TIMEDIFF(s.delivered_date,s.created_date) END) IS NULL, "-",
(CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMEDIFF(s.delivered_date,s.created_date)END)) AS O_D_TAT_Hyperlocal,

(CASE
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) IN ("-") THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) IS NULL THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 10095 THEN "G.>7
Days"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 5775 THEN "F.4-7
Days"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 1455 THEN "E.2-3
Days"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 915 THEN "D.16-24
Hrs"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 435 THEN "C.8-15 Hrs"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 135 THEN "B.3-7 Hrs"
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
TIMESTAMPDIFF(MINUTE,s.created_date,s.delivered_date) END) >= 0 THEN "A.0-2 Hrs"
END) AS O_D_TAT_Hyperlocal_Slab,

IF((CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS


DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END) IS NULL,"-",
(CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS DATE))-
(CAST(s.created_date AS DATE))) ELSE "-" END)) AS O_P_TAT_Courier,

(CASE
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END) IN ("-") THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END) IS NULL THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=31 THEN "G.>31 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=16 THEN "F.16-30 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=11 THEN "E.11-15 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=8 THEN "D.8-10 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=5 THEN "C.5-7 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=3 THEN "B.3-4 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.pickup_date_time AS
DATE))-(CAST(s.created_date AS DATE))) ELSE "-" END)>=0 THEN "A.0-2 Days"
END) AS O_P_TAT_Courier_Slab,

IF((CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS


DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END) IS NULL,"-",
(CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS DATE))-
(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)) AS P_D_TAT_Courier,

(CASE
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END) IN ("-") THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END) IS NULL THEN "H.NA"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=31 THEN "G.>31 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=16 THEN "F.16-30 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=11 THEN "E.11-15 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=8 THEN "D.8-10 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=5 THEN "C.5-7 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=3 THEN "B.3-4 Days"
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN ((CAST(s.delivered_date AS
DATE))-(CAST(s.pickup_date_time AS DATE))) ELSE "-" END)>=0 THEN "A.0-2 Days"
END) AS P_D_TAT_Courier_Slab,

(CASE WHEN (CASE


WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-'
ELSE (CASE
WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
AS Open_Courier_TAT,

(CASE WHEN
(CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
IN ('-') THEN 'H.NA'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
IS NULL THEN 'H.NA'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=31 THEN 'G.>31 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=16 THEN 'F.16-30 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=11 THEN 'E.11-15 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=8 THEN 'D.8-10 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=5 THEN 'C.5-7 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=3 THEN 'B.3-4 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1 WHEN s.delivery_status IN
('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe != '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup')
AND (CURRENT_DATE - CAST(s.created_date AS DATE)) >=7 THEN 1 ELSE 0 END)END) =
1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END)END)
>=0 THEN 'A.0-2 Days' END) AS Open_Courier_TAT_Slab,

(CASE WHEN (CASE


WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-'
ELSE (CASE
WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1
WHEN s.delivery_status IN ('Courier In Transit','Pickedup','Courier Pickedup')
THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) AS
Open_Hyperlocal_TAT,

(CASE
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) IN ('-')
THEN 'H.NA'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) IS NULL
THEN 'H.NA'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 10095
THEN 'G.>7 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 5775
THEN 'F.4-7 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 1455
THEN 'E.2-3 Days'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 915
THEN 'D.16-24 Hrs'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 435
THEN 'C.8-15 Hrs'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 135
THEN 'B.3-7 Hrs'
WHEN (CASE WHEN (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN (CASE WHEN
s.delivery_status IN ('On Process','Awaiting Confirmation','Courier Pickup','Rider
Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN (CURRENT_DATE - CAST(s.created_date AS DATE)) END) IS
NULL THEN '-' ELSE (CASE WHEN (CASE WHEN s.MFM_timeframe = '2 hrs' THEN
(CASE WHEN s.delivery_status IN ('On Process','Awaiting Confirmation','Courier
Pickup','Rider Assigned','Delivery Attempted') THEN 1
WHEN s.delivery_status IN ('In Transit') THEN 1 WHEN s.delivery_status IN
('Courier In Transit','Pickedup','Courier Pickedup') THEN 1
ELSE 0 END)END) = 1 THEN
TIMESTAMPDIFF(MINUTE,created_date,ADDTIME("05:30:00",SYSDATE())) END)END) >= 0 THEN
'A.0-2 Hrs' END) AS Open_Hyperlocal_TAT_Slab

(CASE
WHEN od.category_name IN ('Audio Store','Mobile Audio','Tws','Wireless
Buds','Soundbars','Bluetooth Speakers') THEN 'Audio'
WHEN od.category_name IN ('Computers','Laptops') THEN 'Computers'
WHEN od.category_name IN ('Feature Phones') THEN 'Feature Phones'
WHEN od.category_name IN ('Home Appliance','Home Appliances','Ceiling Fan')
THEN 'Large Appliances'
WHEN od.category_name IN ('Mobiles','Smart Phones','new launches') THEN
'Mobiles'
WHEN od.category_name IN ('Accessories','Cables And Chargers','Cases And
Covers','Earphones','Neckbands','Other accessories',
'Charger','Wireless earphones','Mobile Accessories','Neck Bands','Mobile
Chargers','Pendrive and SD cards',
'External battery packs','Laptop accessories','Headphones','Power
Banks','Cables','Trimmers') THEN 'Other Accessories'
WHEN od.category_name IN ('Personal Care','mobility','Apple Care') THEN
'Others'
WHEN od.category_name IN ('Watches','Smart Watches','Fitness Trackers') THEN
'Smart Watches'
WHEN od.category_name IN ('Tablets','Ipad') THEN 'Tablets'
WHEN od.category_name IN ('Televisions','android TV','Smart Tvs') THEN 'TV'
END) AS Category,

(CASE
WHEN s.customer_distance >= 21 THEN 'F. >20 KM'
WHEN s.customer_distance >= 16 THEN 'E. 16-20 KM'
WHEN s.customer_distance >= 11 THEN 'D. 11-15 KM'
WHEN s.customer_distance >= 6 THEN 'C. 6-10 KM'
WHEN s.customer_distance >= 3 THEN 'B. 3-5 KM'
WHEN s.customer_distance >= 0 THEN 'A. 0-2 KM' END) AS Distance_Slab,

FROM sale AS s
LEFT JOIN order_details AS od ON od.sale_id = s.sale_id
LEFT JOIN order_invoice AS oi ON oi.orderId = s.sale_id
LEFT JOIN store ON s.store_id = store.store_id
WHERE od.status = 1
AND s.created_date BETWEEN '2024-06-01 00:00:00' AND '2024-06-05 23:59:59'
AND s.delivery_status NOT IN ('System Cancelled', 'Pending Transaction')
ORDER BY s.sale_id DESC;

You might also like