Используйте SQL для создания и заполнения столбцов на основе значений из запроса. - PullRequest
0 голосов
/ 07 февраля 2020

Есть ли способ, и я уверен, что есть, с SQL, чтобы получить результаты из одного оператора SQL, чтобы возвращать результаты только с строкой MAX (date), возвращенной со столбцами, заполненными датами, найденными / основанными на значения из исходного SQL заявления?

Соответствующие поля даты (dttm) должны быть заполнены первой датой, когда bug_id удовлетворяет условию, то есть в приведенном ниже примере, исходя из того, сколько данных мы храним в резерве, резерв будет равен 2019-01 -09 (мы храним данные только за 2 года в нашем массиве данных), и проверено было бы 2019-01-14.

В идеале мы использовали бы дефект _ * _ day_flag TRUE | FALSE в этом сценарии, поскольку эти столбцы заполняются существующим кодом ETL, который помечает значения в соответствии с предопределенными определениями того, что значит быть отставанием v. resolved et c.

Например, у меня есть таблица / представление, подобное следующему, что я хотел бы использовать в качестве моего «ввода» или источника:

phase_date  bug_id  creation_dttm   severity    status  defect_regression_day_flag  defect_reopen_day_flag  defect_backlog_day_flag defect_resolution_day_flag  defect_rejected_day_flag    defect_verified_day_flag    defect_failedtest_day_flag
2019-01-09  113998  2004-01-21 3:15:24  medium  NEW        FALSE    FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-10  113998  2004-01-21 3:15:24  medium  NEW        FALSE    FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-11  113998  2004-01-21 3:15:24  medium  ASSIGNED    FALSE   FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-12  113998  2004-01-21 3:15:24  medium  IN PROGRESS FALSE   FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-13  113998  2004-01-21 3:15:24  medium  IN PROGRESS FALSE   FALSE   TRUE    FALSE   FALSE   FALSE   FALSE
2019-01-14  113998  2004-01-21 3:15:24  medium  VERIFIED    FALSE   FALSE   FALSE   FALSE   FALSE   TRUE    FALSE
2019-01-15  113998  2004-01-21 3:15:24  medium  CLOSED  FALSE   FALSE   TRUE    TRUE    FALSE   FALSE   FALSE

Для генерации следующего

bug_id  creation_dttm   severity    status  regression_dttm reopen_dttm backlog_dttm    resolution_dttm rejected_dttm   verified_dttm   failed_test_dttm
113998  2004-01-21 3:15:24  medium  CLOSED         NULL          NULL   2019-01-09         2019-01-15       NULL          2019-02-14        NULL

Обратите внимание, что это не единственная ошибка в системе, есть тысячи, это только один пример ошибки.

...