0 / 0 / 0
Регистрация: 28.03.2012
Сообщений: 7
|
|
Отношение один ко многим28.03.2012, 08:11. Показов 3389. Ответов 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. Связь один-ко-многим и многие-ко-многим одновременно Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
|
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
|
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
|
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
|
Линейное решение нелинейной задачи будет иметь приблизительный результат вычисления для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу можно будет корректировать по ходу. Это потому что прямое соотношение. . .
|
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
|
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
|
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
|