0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 7
|
|
Отношение один ко многим28.03.2012, 08:11. Показов 3387. Ответов 7
Метки нет Все метки)
(
Здравствуйте. Помогите начинающей составить правильный запрос к базе и сделать выборку
Есть таблица с перечнем категорий departments (id, title) и таблица с перечнем подкатегорий category (id, title_category, id_departments). Таблицы связаны в отношении один ко многим по полю id_departments. Т.е. в одной категории может быть несколько подкатегорий. Как правильно составить выборку из базы, чтобы извлечь список категорий с подкатегориями, которые ей принадлежат.
0
|
28.03.2012, 08:11 | |
Ответы с готовыми решениями:
7
Выборка и связь "один ко многим" |
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 7
|
|||||||||||||||||||||
28.03.2012, 11:04 [ТС] | |||||||||||||||||||||
Делала также:
0
|
![]() 258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
|
||||||
28.03.2012, 12:32 | ||||||
совсем быдлокод, но работает
![]()
1
|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 7
|
|
31.03.2012, 19:19 [ТС] | |
К сожалению так тоже не работает. Выводится категория с одной подкатегорией (другие подкатегории для этой категории лежат на верхнем уровне, а не вложены как должно быть (как на рисунке)). И еще категории, которые не содержат подкатегорий вообще не выводятся. Я знаю, что нельзя использовать SELECT в цикле, но просто других вариантов пока не вижу
Если использовать GROUP BY d.id в запросе, то вывод похож на правду, за тем исключением, что для каждой категории выводится только по одной подкатегории. Ошибку пока не нашла, может нужно как доработать запрос?
0
|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 7
|
|
31.03.2012, 21:42 [ТС] | |
Может нужно вывести результат запроса в один массив и затем с ним работать, что-то совсем запуталась. Подскажите хотя бы в каком направлении двигаться. Никто не реализовывал меню, в котором бы рубрики лежали в одной таблице, а подрубрики в другой и они были бы связаны внешним ключом по одному из полей, а выводились бы как результат одного запроса к базе
Сейчас исходя из кода выше:
0
|
0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 7
|
||||||
01.04.2012, 13:31 [ТС] | ||||||
Так все работает, можно как-то избежать выборки в цикле
0
|
![]() 258 / 147 / 37
Регистрация: 24.01.2011
Сообщений: 427
|
|
02.04.2012, 06:43 | |
отлично работает мой вариант, вы видимо код где то изменили, кстати он как раз и выводит в массив для последующей работы.
0
|
02.04.2012, 06:43 | ||||||
Помогаю со студенческими работами здесь
8
RestFul Api Отношение один ко многим Как реализовать отношение один к многим? Как правильно реализовать отношение "один ко многим". Пример - в первом посте SQLite, отношение "один ко многим" Entity Framework 6. Code First. Связь один-ко-многим и многие-ко-многим одновременно Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
|
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
|
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
|
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
|
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
|
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
|
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
|
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
|
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
|
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
|