powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с SQL запросом. (PostgreSQL 9)
3 сообщений из 3, страница 1 из 1
Помогите пожалуйста с SQL запросом. (PostgreSQL 9)
    #38612528
bartsimusa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая таблица

ID C_ID col 1 null red 2 null blue 3 1 green 4 2 red 5 3 green 6 4 blue 7 5 red 8 6 green 9 7 blue10 8 red


Выбираем случайным образом число от 1 до 10, и для этого числа мне нужно сделать следующий sql запрос:

например если число 7 то результат запроса должен быть следующий
ID C_ID col7 5 red 5 3 green 3 1 green 1 null red


если 10 то
ID C_ID col10 8 red 8 6 green 6 4 blue 4 2 red 2 null blue

если 1 то
ID C_ID col 1 null red


Выбрав первую строку смотрим значение поля C_ID, если оно не null то добавляем строку где id равен C_ID и т.д. пока C_ID не будет равен null

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

Заранее спасибо!
...
Рейтинг: 0 / 0
Помогите пожалуйста с SQL запросом. (PostgreSQL 9)
    #38612553
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
DEALLOCATE all;
PREPARE foo(int) AS 

WITH RECURSIVE t (id,c_id,color) AS (values
(1  ,null, 'red')
,(2  ,null, 'blue')
,(3  ,  1 , 'green')
,(4  ,  2 , 'red')
,(5  ,  3 , 'green')
,(6  ,  4 , 'blue')
,(7  ,  5 , 'red')
,(8  ,  6 , 'green')
,(9  ,  7 , 'blue')
,(10 ,  8 , 'red')
)
,recurs AS (SELECT * FROM t WHERE id=$1
UNION ALL
SELECT t.* FROM t,recurs WHERE t.id= recurs.c_id)

SELECT * FROM recurs;
-- TESTS	 --
EXECUTE foo (10);
EXECUTE foo (7);
EXECUTE foo (3);
EXECUTE foo (8);
...
Рейтинг: 0 / 0
Помогите пожалуйста с SQL запросом. (PostgreSQL 9)
    #38612580
bartsimusa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,

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


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