Объедините две таблицы базы данных с данными JSON до желаемого результата - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь сгенерировать запрос SQL, чтобы объединить две таблицы и извлечь данные определенного формата.

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

st_code  st_name     st_data    
  AK     Alaska    {"sList":[1,2,3]}
  AL     Alabama   {"sList":[4,5,6]}
  AR     Arkansas  {"sList":[7,8,9]}

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

sr_nbr                          sr_data                                                                                                                  vD    vSt   f_p       timestamp   sfi
  1    {"state":"AK","bU":{"num":1,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}],"rt":null}    false   AK    Null     2020-02-24  {"a": "b"}
  4    {"state":"AL","bU":{"num":4,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}],"rt":null}    false   AL   {"D":"x"} 2020-02-24  {"a": "b"}
  5    {"state":"AL","bU":{"num":5,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}],"rt":null}    false   AL   {"D":"y"} 2020-02-24  {"a": "b"}
  6    {"state":"AL","bU":{"num":6,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}],"rt":null}    false   AL   {"D":"z"} 2020-02-24  {"a": "b"}

Обе таблицы имеют st_code и vSt в общем. Также sr_nbr соответствует sList номеру. Я пытаюсь создать запрос к базе данных, который будет возвращать следующее.

{
    "sList": [4,5,6],
    "srData": {
    "4": {
     "state": "AL",
     "f_p":{
          "D":"x"
           },
      "bu": {"num":4,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}]},
      "num": 4
      },

    "5": {
     "state": "AL",
     "f_p":{
          "D":"y"
      },
      "bu": {"num":5,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}]},
      "num": 5
         },

    "6": {
     "state": "AL",
     "f_p":{
          "D":"z"
      },
      "bu": {"num":6,"ban":{"des":"VM"},"address":[{"a1": "a1"}],"contact":[{"f":"4","p":[{"num":"123456789"}],"type":"P"}]},
      "num": 6
         }

            }
}

Я пытался использовать Json Авто и Json путь, но я не уверен, является ли это правильным подходом к его использованию. , Нужно ли объединять обе таблицы или мы можем просто использовать вторую таблицу, чтобы получить требуемый формат данных.

...