формирование таблицы на лету в postgresql с указанным условием - PullRequest
0 голосов
/ 23 января 2020

У меня есть три таблицы.

TABLE_1:

T2_ID   ver          date                         boolean
---------------------------------------------------------
  1  | X-20-50 | 2019-01-01 16:20:51.722336+00 | TRUE 
  2  | X-50-30 | 2019-02-26 16:20:51.722336+00 | TRUE
  3  | X-20-32 | 2019-03-20 16:20:51.722336+00 | FALSE
  1  | X-20-50 | 2019-01-09 16:20:51.722336+00 | FALSE
  2  | X-20-50 | 2019-12-02 16:20:51.722336+00 | TRUE
  3  | X-20-50 | 2019-01-24 16:20:51.722336+00 | TRUE

TABLE_2:

id | type | scheduler
--------------------------------------------------
1  | ABC  | w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12
2  | PQR  | w5,w9
3  | TRC  | w1,w4,w8

TABLE_3

    start_date_of_ver  |    end_date_of_ver     | ver_name
-----------------------------------------------------------
2019-01-01 00:00:00+00 | 2019-04-01 00:00:00+00 | X-20-50
2019-02-25 00:00:00+00 | 2019-05-26 00:00:00+00 | X-50-30
2019-03-15 00:00:00+00 | 2019-06-06 00:00:00+00 | X-20-32

Таблица 4 должна быть выполнена нижеследующее условие.

  • принимает имя версии (ver_name) как ввод
  • из этого (ver_name), принимает дату начала и дату окончания версии ( из table_3 *) 1018 *) если период версии равен 3 месяцам, он создает таблицу на 12 недель с идентификатором (типом) в качестве первого столбца и создает запись на двенадцать недель в соответствии с таблицей 2 планировщика.
  • информация в таблице 4 будет обновляться по мере того, как и когда в таблице 1 будут записи этой конкретной недели, ИСТИНА

Примечание: таблица 1, записи get генерируется ежедневно.

Желаемая таблица: которая имеет только ver_name в качестве входных данных и вычислений под таблицей ниже.

Если в table_1 нет записей, то table_4 должна выглядеть следующим образом

Таблица_4: X-20-50

id_of_table_2 | week_1 | week_2 | week_3 | week_4 | week_5 | week_6 | week_7 | week_8 | week_9 | week_10 | week_11 | week_12 |
------------------------------------------------------------------------------------------------------------------------------
     ABC      |    w1  |    w2  |    w3  |    w4  |    w5  |    w6  |    w7  |    w8  |    w9  |    w10  |    w11  |    w12  |
     PQR      |        |        |        |        |    w5  |        |        |        |    w9  |         |         |         |
     TRC      |    w1  |        |        |    w4  |        |        |        |    w8  |        |         |         |         |

Когда в таблице_1 есть записи, таблица_4 должна выглядеть следующим образом

X- 20-50

id_of_table_2 | week_1 | week_2 | week_3 | week_4 | week_5 | week_6 | week_7 | week_8 | week_9 | week_10 | week_11 | week_12 |
------------------------------------------------------------------------------------------------------------------------------
     ABC      |  Done  |  Done  |    w3  |    w4  |    w5  |    w6  |    w7  |    w8  |    w9  |    w10  |    w11  |    w12  |
     PQR      |        |        |        |        |    w5  |        |        |        |    w9  |         |         |         |
     TRC      |  Done  |        |        |    w4  |        |        |        |    w8  |        |         |         |         |

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...