заполнить атрибуты, соответствующие одной строке в улье - PullRequest
0 голосов
/ 09 мая 2019

У меня есть две таблицы.Я должен заполнить столбец R_val из таблицы B для каждой строки таблицы A (A является таблицей драйверов).Но при заполнении R_val я должен учитывать startdate, end_date и flag для каждой комбинации field_num, field.Например, из приведенного ниже примера, если начальная дата - 01/01/2017, конечная дата - NULL, а флаг - O (означает открытый) в таблице B, то для всех строк в таблице A дата начала больше, чем start_date в B, и флаг= O тот же R_val должен быть заполнен. Например, если есть другая запись в таблице B, для которой начальная и конечная даты в таблице A попадают в тот же диапазон, что и начальная и конечная даты в таблице B, и статус C (закрыт), тоR_val в этом случае будет другим: CX.

Я попытался объединить 2 таблицы, основанные на field_num, field, start_date, но в результате я получил неправильный результат, потому что даты могут не обязательно совпадать всегда.

Ниже приведен тот же вход для образца field_num, комбинация полей

Таблица A

field_num   field       startdate   end_date    val     qual    ref  flag
XXX112      123456      10/02/2016  12/02/2016  10      IND     PRE     C
XXX112      123456      10/02/2017  12/02/2017  10      IND     PRE     C   
XXX112      123456      05/02/2018  08/02/2018  20      IND     PRE     C
XXX112      123456      01/01/2019  NULL        30      IND     PRE     O

Таблица B

field_num   field       startdate   end_date    val     qual     ref     flag
XXX112      123456      01/01/2017  NULL        RX      NULL      R       O
XXX112      123456      10/02/2016  12/02/2016  CX      NULL      R       C

Ожидаемый_выход

field_num   field       startdate   end_date    val     qual    ref  flag   R_val
XXX112      123456      10/02/2016  12/02/2016  10      IND     PRE     C   CX
XXX112      123456      10/02/2017  12/02/2017  10      IND     PRE     C   RX
XXX112      123456      05/02/2018  08/02/2018  20      IND     PRE     C   RX
XXX112      123456      01/01/2019  NULL        30      IND     PRE     O   RX

Любая помощь будет очень признательна.

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