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

New Query

Uploaded by

manju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

New Query

Uploaded by

manju
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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