Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 13.02.2019
Сообщений: 2
1

Рекурсивный запрос

13.02.2019, 12:22. Показов 1777. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Есть таблица:
Рекурсивный запрос


Есть 3 типа описания столбцов:
1. Страна (Type_id = 1);
2. Область / Штат
3. Город

Нужно каким-то образом извлечь все те города, которые относятся к стране.
Например, выбрали "Красногорск", то результат должен вывести все города:
Балашиха, Дмитров, Красногорск, Чудово, Валдай.

Есть мысль как сделать:

Parent_Id зависит от Id.

Красногорск (Type_id = 3) имеет Parent_id = 2. Исходя из этого уже смотрим на строку под этим Id = 2: Московская область (Type_id = 2), исходя из этого ищем уже строку с Id = 1: Россия (Type_id = 1). И если ParentId IS NULL, тогда прекратить поиск и вывести полный список городов России.

Не могу представить как это реализовать, были мысли насчёт цикла, но сомневаюсь, что это можно как-то сделать. Возможно, сложный подзапрос должен быть.

Подскажите пожалуйста, спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2019, 12:22
Ответы с готовыми решениями:

Postgres рекурсивный запрос?
В общем имею рекурсивный запрос WITH RECURSIVE temp1 ( p_id,p_parent,p_title,PATH, LEVEL,...

Таинственный рекурсивный запрос SQL
Таинственный рекурсивный запрос Я плохо понимаю логику рекурсивных запросов, есть запрос ...

Как переписать рекурсивный запрос циклами?
как переписать рекурсивную функцию с помощью циклов? BEGIN RETURN query WITH RECURSIVE R AS ...

Рекурсивный запрос WITH sqlite3
Имеется таблица directories вида ( id, name, root_id ) , представлена в виде дерева каталогов. Т.е....

2
1241 / 960 / 379
Регистрация: 02.09.2012
Сообщений: 2,937
13.02.2019, 23:48 2
Лучший ответ Сообщение было отмечено agentmax1316 как решение

Решение

См. примеры рекурсивных запросов здесь
Будут сомнения, как написать собственный запрос, пишите здесь вопросы.
1
0 / 0 / 0
Регистрация: 13.02.2019
Сообщений: 2
14.02.2019, 20:17  [ТС] 3
Разобрался, спасибо grgdvo. Тему можно закрыть.
0
14.02.2019, 20:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2019, 20:17
Помогаю со студенческими работами здесь

Интересная сложная задача: Рекурсивный запрос + логика
Помогите кто может, уже неделю не могу разобраться! У меня есть данные в таблице. Это RDF...

Рекурсивный SELECT
есть таблица:CREATE TABLE value( id SERIAL PRIMARY KEY , content TEXT NOT NULL , key TEXT...

Рекурсивный запрос
Имеются таблицы «Группы прейскуранта», «Партнеры», «Заметки». Таблица заметки хранит связь между...

Рекурсивный запрос
Пытаюсь написать запрос поиска маршрута. В таблице Parents имеются столбцы ID, From, To, Date. Сам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru