Запросите данные за последний месяц (рассчитанные с этого момента) и проанализируйте Json, чтобы получить элемент внутри Json - PullRequest
0 голосов
/ 23 января 2019

У меня есть две таблицы, связанные следующим образом:

master_ticket:

t_m_id     t_open       t_closed
==================================
111      2018-12-01     2018-12-05
222      2018-12-02     2018-12-06 
333      2018-12-03     2018-12-07
444      2018-12-04     2018-12-08

master_data:

m_id     m_reference
=====================================
111    {"id": "01","name": "Bahary"}
222    {"id": "02","name": "Mail"}
333    {"id": "03","name": "Ivan"}
444    {"id": "04","name": "Scheil"}

Как я должен это сделать, чтобы моя таблица выглядела так (с фильтром получить данные за последний месяц из t_open):

id   name      t_open     t_closed
===============================
01   Bahary   2018-12-01  2018-12-05
02   Mail     2018-12-02  2018-12-06
03   Ivan     2018-12-03  2018-12-07
04   Scheil   2018-12-04  2018-12-08

Пожалуйста, помогите мне, ребята .... Спасибо,

1 Ответ

0 голосов
/ 24 января 2019

Я думаю, что это может дать ожидаемый результат.

  with cte as (
 select 111 as t_m_id,       '2018-12-01' as t_open,     '2018-12-05' as t_closed 
 union all 
 select 222 as t_m_id,       '2018-12-02' as t_open,     '2018-12-06' as t_closed 
 union all 
 select 333 as t_m_id,       '2018-12-03' as t_open,     '2018-12-07' as t_closed 
 union all 
 select 444 as t_m_id,       '2018-12-04' as t_open,     '2018-12-08' as t_closed) , 
 cte2 as (      

 select 111 as m_id,    '{"id": "01","name": "Bahary"}' as m_reference union all 
 select 222 as m_id,    '{"id": "02","name": "Mail"}' as m_reference union all 
 select 333 as m_id,    '{"id": "03","name": "Ivan"}' as m_reference union all 
 select 444 as m_id,    '{"id": "04","name": "Scheil"}' as m_reference)

  select json_unquote(json_extract(m_reference, '$.id')) as ID, c.t_open, t_closed,
  json_unquote(json_extract(m_reference, '$.name')) AS name from cte   c 
  join cte2 c2 on c.t_m_id = c2.m_id;

Вывод:

ID, t_open,     t_closed,   name
01, 2018-12-01, 2018-12-05, Bahary 
02, 2018-12-02, 2018-12-06, Mail
03, 2018-12-03, 2018-12-07, Ivan
04, 2018-12-04, 2018-12-08, Scheil
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...