категории.
                  
                  
                  SELECT  "c1"."level" AS "level",
                  
                  
                          (
                  
                  
                              SELECT JSON_AGG(    
                  
                  
                                  JSON_BUILD_OBJECT(
                  
                  
                                      'level', "c2"."level"
                  
                  
                                  )
                  
                  
                              )
                  
                  
                          ) AS "childrens"
                  
                  
                  FROM "category" "c1"
                  
                  
                  LEFT JOIN "category_category" "cc1"
                  
                  
                      ON "cc1"."categoryId_1"="c1"."id"
                  
                  
                  LEFT JOIN "category" "c2"
                  
                  
                      ON "c2"."id"="cc1"."categoryId_2"
                  
                  
                      AND ("c2"."deletedAt" IS NULL)
                  
                  
                  -- LEFT JOIN "category_category" "cc2"
                  
                  
                  --     ON "cc2"."categoryId_1"="c2"."id"
                  
                  
                  -- LEFT JOIN "category" "c3"
                  
                  
                  --     ON "c3"."id"="cc2"."categoryId_2"
                  
                  
                  --     AND ("c3"."deletedAt" IS NULL)
                  
                  
                  WHERE (
                  
                  
                      "c1"."level" = '1'
                  
                  
                          AND "c1"."active" = true
                  
                  
                      )
                  
                  
                      AND ( "c1"."deletedAt" IS NULL )
                  
                  
                  GROUP BY "c1"."id";
                  
                  
                  Ето работает. Но мне нужно так же вытащить ещё childrens's childrens.
                  
                  
                  Если я раскомментирую код, то оно уже работает не правильно (вместо 5 категорий будет несколько сотен).
                  
                  
                  Как можно сделать такой запрос?
                  
                  
                
recursive CTE
Вроде не то. Оно же только всё кинет в кучу
Позвольте докопаться =) Нет такого слова childrens... Есть child и множественное число children.
Обсуждают сегодня