Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Рекурсивные запросы. / 4 сообщений из 4, страница 1 из 1
24.12.2015, 12:16
    #39136962
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивные запросы.
Добрый день, коллеги!

Помогите пожалуйста найти бельмо в глазу.
Я по ходу просто о тупел.
Есть некий набор данных, их я сперва подготовил для иерархических запросов и закинул во временную таблицу, вот результат:
Код: sql
1.
2.
3.
4.
5.
6.
select nskv1, 
       nskv2, 
       alpha,
       id,
       parent
  from portal.tempVoronogo2


Результат(26 строк):
nskv1 nskv2 alpha id parent"0""1"11.30993247402021"0""2"51.340191745909921"0""3"99.462322208025632"0""4"171.86989764584443"0""5"22554"0""6"285.94539590092365"1""2"104.0362434679267"1""3"140.19442890773587"1""0"191.3099324740298"1""6"249.443954780417109"2""3"168.6900675259811"2""0"231.340191745911211"2""1"284.0362434679261312"3""4"219.80557109226514"3""0"279.4623222080261514"3""1"320.1944289077351615"3""2"348.690067525981716"4""3"39.805571092265218"4""5"2701918"4""0"351.8698976458442019"5""0"4521"5""4"902221"5""6"3602322"6""1"69.443954780416524"6""0"105.9453959009232524"6""5"1802625



Ток объясните плиз, какого ХХХХ вот этот запрос висит долго и я его обрываю:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
/*+++++++++++++++++++*/
DROP INDEX voronogo_idx1,
DROP INDEX voronogo_idx2,
CREATE INDEX voronogo_idx1 ON portal.tempVoronogo2 (id),
CREATE INDEX voronogo_idx2 ON portal.tempVoronogo2 (parent),
--DROP TABLE portal.tempVoronogo2,
/*+++++++++++++++++++*/
WITH RECURSIVE cte AS (
   SELECT nskv1, 
          nskv2,
          null as nskv3,
          alpha,
          id,
          parent
     FROM portal.tempVoronogo2 
    WHERE parent is null 
   UNION  ALL
   SELECT c.nskv1, 
          c.nskv2,
          t.nskv2 as nskv3,
          t.alpha,
          c.id,
          c.parent
     FROM cte c,
          portal.tempVoronogo2 t 
    WHERE t.parent = c.id
          )
SELECT *
  FROM cte
ORDER BY nskv1
/*+++++++++++++++++++*/



Где то я жестко тупанул на мелочи, не могу найти, помогите плиз.
...
Рейтинг: 0 / 0
24.12.2015, 12:17
    #39136967
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивные запросы.
Тему топика еще криво написал.
...
Рейтинг: 0 / 0
24.12.2015, 12:26
    #39136984
grufos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивные запросы.
vadipok,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   UNION  ALL
   SELECT c.nskv1, 
          c.nskv2,
          t.nskv2 as nskv3,
          t.alpha,
          c.id,
          c.parent
     FROM cte c,
          portal.tempVoronogo2 t 
    WHERE t.parent = c.id


замени на
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   UNION  ALL
   SELECT c.nskv1, 
          c.nskv2,
          t.nskv2 as nskv3,
          t.alpha,
          t.id,
          t.parent
     FROM cte c,
          portal.tempVoronogo2 t 
    WHERE t.parent = c.id
...
Рейтинг: 0 / 0
24.12.2015, 12:29
    #39136989
vadipok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Рекурсивные запросы.
grufos,

Спасибо мил человек!
Очередной раз убедился в программировании нет мелочей.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Рекурсивные запросы. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]