You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.3 KiB
SQL
70 lines
3.3 KiB
SQL
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)
|
|
; |