Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 1 / 0
Регистрация: 07.03.2015
Сообщений: 18

Иерархическая таблица и запрос к ней

02.06.2016, 16:08. Показов 1377. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Имеется таблица с иерархией с полями ID Категории, Название категории, ID Родительской категории, Номер уровня. Как нужно составить запрос, чтобы выводились 2 столбца из этой таблицы, где в первом столбце название категории, во втором - название подкатегории? Например: Супы | Горячие супы | дальше столбцы из прикреплённых таблиц.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.06.2016, 16:08
Ответы с готовыми решениями:

Иерархическая таблица в РБД
Мне в руки "попалось" ТЗ. В одном из пунктов описывается таблица в БД. Сказано, что она должна быть иерархической, но как это я не понимаю....

Иерархическая таблица с товарами
Доброго дня! каким элементом и как реализовать иерархический справочник на C# для списка товаров я ползую DataGridView ...

Динамическая иерархическая таблица из БД
Здравствуйте! Такая проблема, нужно создать иерархическую таблицу html(Прикрепленное изображение(Итоговая) 1), формируя ее из данных в...

6
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
02.06.2016, 16:25
Цитата Сообщение от nmlsx Посмотреть сообщение
Имеется таблица с иерархией
О какой СУБД идет речь?
0
0 / 1 / 0
Регистрация: 07.03.2015
Сообщений: 18
02.06.2016, 16:28  [ТС]
В данный момент делаю запросы в IBExpert, но скоро я переделаю всё в MySQL. Меня интересует сам подход к таким вещам, наверное он везде примерно одинаков?
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
02.06.2016, 16:51
Цитата Сообщение от nmlsx Посмотреть сообщение
наверное он везде примерно одинаков
Отнюдь. Как раз эти вещи сильно отличаются в разных СУБД. Например, в Oracle есть иерархические запросы, а в некоторых СУБД их нет (вроде в MySQL как раз нет). Если они есть, то дело обстоит проще, если нет, то приходится извращаться за счет соединения таблицы с собой.
0
0 / 1 / 0
Регистрация: 07.03.2015
Сообщений: 18
02.06.2016, 17:14  [ТС]
Вот можно про соединение таблицы с собой подробнее с примером?
0
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
02.06.2016, 17:46
Лучший ответ Сообщение было отмечено nmlsx как решение

Решение

Цитата Сообщение от nmlsx Посмотреть сообщение
Как нужно составить запрос, чтобы выводились 2 столбца из этой таблицы, где в первом столбце название категории, во втором - название подкатегории? Например: Супы | Горячие супы | дальше столбцы из прикреплённых таблиц.
Допустим, что у элементов верхнего уровня ID Родительской категории is null

Тогда, чтобы вывести категории, содержащие подкатегории, а также сами подкатегории:

SQL
1
2
3
4
SELECT t.Название категории, t1.Название категории
FROM category t
INNER JOIN category t1 ON t1.ID Родительской категории = t.ID Категории AND t1.ID Родительской категории IS NOT NULL
WHERE t.ID Родительской категории IS NULL
Чтобы вывести категории, которые как содержат подкатегории, так и не содержат, а также сами подкатегории:

SQL
1
2
3
4
SELECT t.Название категории, t1.Название категории
FROM category t
LEFT JOIN category t1 ON t1.ID Родительской категории = t.ID Категории AND t1.ID Родительской категории IS NOT NULL
WHERE t.ID Родительской категории IS NULL
1
0 / 1 / 0
Регистрация: 07.03.2015
Сообщений: 18
02.06.2016, 17:53  [ТС]
Спасибо, написал ещё такой вариант:
SQL
1
2
3
SELECT kat."Название", podkat."Название"
    FROM "КАТЕГОРИИ" kat, "КАТЕГОРИИ" podkat
    WHERE kat."ID Категории" = podkat."ID Родительской категории"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.06.2016, 17:53
Помогаю со студенческими работами здесь

StringGrid таблица и перемещение в ней слова по стрелкам
Есть таблица StringGrid 5 на 5. В любую ячейку заносится слово. Нужно, чтобы пользователь нажимая на стрелки кнопок (BitBtn)...

В IBQuery возвращается таблица из БД: можно ли с ней работать как с матрицей?
чтобы как с массивом или с двусвязным списком. ну в общем как обычно. почему возник вопрос - IBQuery.FieldByName возвращает значение...

Коррекция программы так, чтобы таблица в ней отобразилась правильно
Что нужно добавить в программу, чтобы столбики таблицы были друг под другом соответственно: #include <iostream> #include...

Таблица удлинение на весь экран, появляющийся в ней текст (0.5 секунд)
Вот в чем беда есть код, делаю страницу 404.html и столкнулся с проблемами, делаю страницу через таблицу и у меня к ней вопросы 1) как...

дана целочисленная таблица, есть ли в ней элементы, равные нулю
дана целочисленная таблица А. проверьте, есть ли в ней элементы, равные нулю. Если есть, найдите номер первого из них, т.е. наименьший i,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru