first stab at durations.sql
parent
d46852cd9a
commit
0cdc75925a
@ -0,0 +1,70 @@
|
||||
CREATE OR REPLACE TABLE lifecycle_times
|
||||
(
|
||||
id int primary key auto_increment,
|
||||
project_number varchar(25),
|
||||
ready_for_review datetime,
|
||||
ready_for_review_two datetime,
|
||||
ready_for_deliver datetime,
|
||||
sealed datetime,
|
||||
delivered datetime,
|
||||
has_been_invoiced datetime,
|
||||
ready_to_invoice datetime
|
||||
);
|
||||
CREATE OR REPLACE INDEX lifetimes_refnum on project_lifecycle (project_number);
|
||||
|
||||
|
||||
INSERT INTO lifecycle_times (project_number)
|
||||
SELECT DISTINCT project_number
|
||||
FROM project_lifecycle;
|
||||
|
||||
|
||||
UPDATE lifecycle_times
|
||||
set ready_for_review = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+READY_FOR_REVIEW'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
ready_for_review_two = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+READY_FOR_REVIEW2'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
ready_for_deliver = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+READY_FOR_DELIVER'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
ready_for_deliver = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+READY_FOR_DELIVER'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
sealed = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+SEALED'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
delivered = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+DELIVERED'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
has_been_invoiced = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+HAS_BEEN_INVOICED'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1),
|
||||
ready_to_invoice = (SELECT timestamp
|
||||
from project_lifecycle
|
||||
where new_value = '+READY_TO_INVOICE'
|
||||
and project_lifecycle.project_number = lifecycle_times.project_number
|
||||
order by timestamp desc
|
||||
limit 1)
|
||||
;
|
||||
Loading…
Reference in New Issue