jsonb postgres get выбрать массив строк anidate child json - PullRequest
0 голосов
/ 13 марта 2019

Привет, у меня есть JSON с этой структурой

enter image description here

"units":[   "weeks": [  
   {  
      "sessions":[  
         {  
            "subject":"",
            "activities":[  
               {  
                  "modality":"",
                  "description":"",
                  "type_activity":"",
                  "label_description":""
               }
            ],
            "number_session":1
         }
      ],
      "number_week":"1"
   },
   {  
      "sessions":[  
         {  
            "subject":"",
            "activities":[  
               {  
                  "modality":"",
                  "description":"",
                  "type_activity":"",
                  "label_description":""
               }
            ],
            "number_session":1
         }
      ],
      "number_week":"2"
   },
   {  
      "sessions":[  
         {  
            "subject":"",
            "activities":[  
               {  
                  "modality":"",
                  "description":"",
                  "type_activity":"",
                  "label_description":""
               }
            ],
            "number_session":1
         }
      ],
      "number_week":"3"
   },
   {  
      "sessions":[  
         {  
            "subject":"",
            "activities":[  
               {  
                  "modality":"",
                  "description":"",
                  "type_activity":"",
                  "label_description":""
               }
            ],
            "number_session":1
         }
      ],
      "number_week":"4"
   }
]]

Итак, я попытался получить все недели со значением number_week и сессией в массиве такУ меня есть этот запрос

select value->'weeks'->'number_week' as title
 from  syllabus_programs
 cross join jsonb_array_elements(program_json->'units')

 where id =12;

, но он не работает. Как я могу получить значения корректно, у меня есть нулевые значения, но я нахожу значения в своей таблице.

Я ожидал получить этот результат

number_week

1
2
3

Если я могу получить доступ только к значению -> 'week' возвращает json с ключом и значениями, но я не могу получить доступ к этому значению.

...