PostgreSQL - JsonB wyciąganie zagnieżdżonych danych

0

Cześć, zawartość mojej kolumny wygląda następująca.

Chciałbym wyciągnąć wszystko obiekty, których form_id = x oraz subform_id = y, następnie w oddzielnych kolumnach chciałbym wyświetlić zwartości pól remote, teacher, practical

Zatrzymałem się na czymś takim.
Pobiera mi elegancko dla warunku form_id = 1952c00f-f6e7-4499-b8d7-b7839d9f21aa
Natomiast jak teraz wejść w głąb? Mogę liczyć na podpowiedzi, ewentualnie jakiś artykuł, który moze mi dostarczyc wiedzy?

SELECT fsc.start_year, arr.item_object
FROM form_configurations as fsc,
     jsonb_array_elements(forms) with ordinality arr(item_object, position)
WHERE fsc.faculty_id = '21ab91ce-fda3-436c-a61f-06e90e1d1a0e'
  and fsc.start_year = 2019
  and arr.position = Cast((select arr.position
                           FROM form_configurations,
                                jsonb_array_elements(forms) with ordinality arr(item_object, position)
                           WHERE arr.item_object ->> 'form_id' =
                                 '1952c00f-f6e7-4499-b8d7-b7839d9f21aa') as bigint)

[
   {
      "subforms":[
         {
            "remote":false,
            "teacher":true,
            "practical":true,
            "subform_id":"beee5dd2-5eff-47aa-b9e9-45aa4f231a68"
         }
      ],
      "form_id":"1952c00f-f6e7-4499-b8d7-b7839d9f21aa"
   }
]

0

Subforms to array - interesują Cię wiersze w których istnieje jakiś subform o danym id?

0

@Saalin: tak dokładnie nadrzedne form_id oraz subform_id musza się zgadzac.

1 użytkowników online, w tym zalogowanych: 0, gości: 1