diff --git a/src/sql/0-run-first/contributions.sql b/src/sql/0-run-first/contributions.sql index e2802b0..b2ee090 100644 --- a/src/sql/0-run-first/contributions.sql +++ b/src/sql/0-run-first/contributions.sql @@ -1,4 +1,5 @@ DROP TABLE IF EXISTS engineer_contributions; +DROP TABLE IF EXISTS rdu_soil_contributions; CREATE TABLE engineer_contributions AS SELECT CONCAT(users.lname, ', ', users.fname) AS `Engineer`, @@ -17,9 +18,38 @@ FROM users WHERE project_lifecycle.new_value IN ('+SEALED') AND users.priv & POW(2, 25) > 0; +CREATE TABLE rdu_soil_contributions AS +SELECT CONCAT(users.lname, ', ', users.fname) AS `Engineer`, + project_lifecycle.project_number AS `Project Number`, + project_lifecycle.timestamp, + new_value AS `Action Type`, + CONCAT(SUBSTR(project_lifecycle.project_number, 1, 3), ' - ', + IF(ap.proj_type = 'Warranty', 'Structural', ap.proj_type)) AS `Region`, + clients.name AS `Client`, + ap.description AS `Description` +FROM users + INNER JOIN project_lifecycle ON pkey = modifier + INNER JOIN all_projects ap on project_lifecycle.project_number = ap.refnum + INNER JOIN contacts on ap.contact_fkey = contacts.pkey + INNER JOIN clients on contacts.cl_fkey = clients.pkey +WHERE project_lifecycle.new_value IN ('+READY_FOR_INITIAL_REVIEW') + AND users.email in ( + 'sgrygoruk@JDSConsulting.net', + 'rnewton@JDSConsulting.net', + 'kbaker@JDSConsulting.net', + 'zputz@JDSConsulting.net', + 'kgleisner@JDSConsulting.net', + 'hfox@JDSConsulting.net', + 'rmckey@JDSConsulting.net', + 'csmith@JDSConsulting.net' + ); + ALTER TABLE engineer_contributions ADD COLUMN IF NOT EXISTS id INT AUTO_INCREMENT KEY FIRST; +ALTER TABLE rdu_soil_contributions + ADD COLUMN IF NOT EXISTS id INT AUTO_INCREMENT KEY FIRST; + #https://stackoverflow.com/a/9639548 DELETE FROM engineer_contributions @@ -32,6 +62,19 @@ WHERE id IN (SELECT bad_rows.id ON good_rows.`Project Number` = bad_rows.`Project Number` AND good_rows.min_id <> bad_rows.id); +DELETE +FROM rdu_soil_contributions +WHERE id IN (SELECT bad_rows.id + FROM rdu_soil_contributions AS bad_rows + INNER JOIN (SELECT rdu_soil_contributions.`Project Number`, MAX(id) as min_id + FROM rdu_soil_contributions + GROUP BY rdu_soil_contributions.`Project Number` + HAVING count(*) > 1) AS good_rows + ON good_rows.`Project Number` = + bad_rows.`Project Number` + AND good_rows.min_id <> bad_rows.id); ALTER TABLE engineer_contributions + DROP COLUMN IF EXISTS id; +ALTER TABLE rdu_soil_contributions DROP COLUMN IF EXISTS id; \ No newline at end of file