-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathall_states.sql
99 lines (95 loc) · 3 KB
/
all_states.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
CREATE TABLE "final_sla_temp" AS
SELECT
DISTINCT "delivery_id" AS delivery_id,
"real_state" AS real_state,
"real_date" AS real_date,
"updated_date" AS updated_date
FROM "final_sla_dates"
GROUP BY 1, 2, 3, 4
ORDER BY "delivery_id", "real_date" desc;
CREATE TABLE "final_sla_temp1" AS
SELECT
DISTINCT "delivery_id" AS delivery_id,
"real_state" AS real_state,
"status_created_date" AS status_created_date,
"updated_date" AS updated_date
FROM "final_sla_dates"
GROUP BY 1, 2, 3, 4
ORDER BY "delivery_id", "status_created_date" desc;
CREATE TABLE "final_sla_transform" AS
SELECT
delivery_id,
updated_date,
"'real_date_delivery'" AS real_date_delivery,
"'real_date_provider'" AS real_date_provider,
"'real_date_on_road'" AS real_date_on_road,
"'real_date_warehouse'" AS real_date_warehouse,
"'real_date_warehouse_out'" AS real_date_warehouse_out,
"'real_date_pickup'" AS real_date_pickup,
"'real_date_storno'" AS real_date_storno,
"'real_date_init'" AS real_date_init,
"'real_date_pay'" AS real_date_pay
FROM
"final_sla_temp" pivot(
MIN(real_date) FOR real_state IN (
'real_date_delivery',
'real_date_provider',
'real_date_on_road',
'real_date_warehouse',
'real_date_warehouse_out',
'real_date_pickup',
'real_date_storno',
'real_date_init',
'real_date_pay'
)
) p
ORDER BY delivery_id;
CREATE TABLE "final_status_transform" AS
SELECT
delivery_id,
updated_date,
"'real_date_delivery'" AS real_date_delivery,
"'real_date_provider'" AS real_date_provider,
"'real_date_on_road'" AS real_date_on_road,
"'real_date_warehouse'" AS real_date_warehouse,
"'real_date_warehouse_out'" AS real_date_warehouse_out,
"'real_date_pickup'" AS real_date_pickup,
"'real_date_storno'" AS real_date_storno,
"'real_date_init'" AS real_date_init,
"'real_date_pay'" AS real_date_pay
FROM
"final_sla_temp1" pivot(
MIN(status_created_date) FOR real_state IN (
'real_date_delivery',
'real_date_provider',
'real_date_on_road',
'real_date_warehouse',
'real_date_warehouse_out',
'real_date_pickup',
'real_date_storno',
'real_date_init',
'real_date_pay'
)
) p
ORDER BY delivery_id;
CREATE TABLE if NOT EXISTS "non_delivered_orders" AS
SELECT
DISTINCT n.*,
first_value("mapping_czech_title") OVER (
PARTITION BY "tracking_id"
ORDER BY
"order":: number desc,
"status_date" asc
) "POSLEDNY_STAV",
first_value("status_date") OVER (
PARTITION BY "tracking_id"
ORDER BY
"order":: number desc,
"status_date" asc
) "POSLEDNY_DATUM"
FROM "non_delivered_cz" AS n
LEFT JOIN "full_states_history3" AS s
ON s."tracking_id" = n."EXTERNI_IDENTIFIKACE_DODAVKY"
WHERE
n."ODBYTOVY_DOKLAD" NOT LIKE '9%' AND
"order" IS NOT NULL;