Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Aleator
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330

Сложный запрос

30.05.2012, 10:00. Показов 933. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть таблицы (ID_ - первичный ключ, Код_ -ключи для связи):

Таблица Жанры(ID_жанра, название жанра)
Таблица Книга(ID_книги, Код_жанра, название, автор)
Таблица Экземпляр(ID_экземпляра, Код_книги)
Таблица Абонемент(ID_выдачи,Код_экземпляра, Код_читателя)
Таблица Читатель(ID_читателя, ФИО, Адрес)

Прошу помощи в написании запроса, показывающего сколько экземпляров книг каждого жанра взял каждый читатель
Например:

ID_читателя, ФИО, название жанра - колличество записей в таблице Абонемент

12, Иванов, Фантастика - 10
Приключения - 2

4, Сидорова, Детектив - 10
Любовный роман - 2

Добавлено через 9 часов 6 минут
Эти данные буду использовать в QRChart. Если лучше сделать это не одним запросом, а как-то ещё буду рад выслушать любой совет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2012, 10:00
Ответы с готовыми решениями:

Сложный SQL запрос
Огромная просьба помочь мне с запросом, у меня есть варианты но выходит очень большой код. Есть 2 таблицы: Акты и Справочники(или классы...

Сделать сложный Запрос
Всем привет, есть форма, на которой размещен ComboBox, в котором диспетчер выбирает место на автостоянке, и есть таблица, в которой...

Сложный SQL запрос для ADOQuery
Возможно ли в зависимости от значения некоторых полей выводить соответствующий результат?? т.е. я ищу что-то вроде if один where не...

10
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
30.05.2012, 10:23
Так попробуем
SQL
1
2
3
4
5
SELECT p.ID_читателя, p.ФИО,  zh.название жанра, COUNT(zh.ID_жанра)
FROM Читатель AS p, Абонемент AS ab, Экземпляр AS ekz, Книга AS book, Жанры AS zh
WHERE p.ID_читателя = ab.Код_читателя AND ab.Код_экземпляра = ekz.ID_экземпляра
  AND ekz.Код_книги = book.ID_книги AND book.Код_жанра = zh.ID_жанра
GROUP BY p.ID_читателя, p.ФИО, zh.ID_жанра
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
30.05.2012, 10:25
SQL
1
SELECT чит.ID_читателя, чит.ФИО, жан.Название_жанра, COUNT (жан.Название_жанра) AS Скока_книг FROM Читатель чит, Жанры жан, Абонемент аб, Экземпляр экз, Книга кн WHERE чит.ID_читателя=аб.Код_читателя AND аб.Код_экзмепляра = экз.ID_экзмепляра AND экз.Код_книги = кн.ID_книги AND кн.Код_жанра = жан.ID_жанра GROUP BY чит.ID_читателя, чит.ФИО, жан.Название_жанра

Не по теме:

Блин, а как строки переносить? :(

1
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
30.05.2012, 10:28
Цитата Сообщение от The_Immortal Посмотреть сообщение
чит.ФИО
ну да просто делал без нее
2
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
30.05.2012, 10:32
Bit_Man,

Не по теме:

как строки-то переносить? :)

1
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
30.05.2012, 10:33
Цитата Сообщение от The_Immortal Посмотреть сообщение
как строки-то переносить?
какие?
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
30.05.2012, 10:34
Bit_Man,

Не по теме:

да у меня все в одну строчку получилось :)


Кстати, а без чит.ФИО (p.ФИО) пашет? У меня кричит без нее...
1
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
30.05.2012, 10:37
если после select'a оставить (в столбцах), а в group убрать то нет. наоборот - да. Enter для строчек
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
30.05.2012, 10:41
Bit_Man, мм, в смысле?

SQL
1
2
3
4
5
SELECT p.ID_читателя, p.ФИО,  zh.название жанра, COUNT(zh.ID_жанра)
FROM Читатель AS p, Абонемент AS ab, Экземпляр AS ekz, Книга AS book, Жанры AS zh
WHERE p.ID_читателя = ab.Код_читателя AND ab.Код_экземпляра = ekz.ID_экземпляра
  AND ekz.Код_книги = book.ID_книги AND book.Код_жанра = zh.ID_жанра
GROUP BY p.ID_читателя, zh.ID_жанра
Вот так вот норм работало или нет?

Цитата Сообщение от Bit_Man Посмотреть сообщение
если после select'a оставить (в столбцах), а в group убрать то нет. наоборот - да.
Я просто фразу не понял)) "Нет" - это не ругается? А "да" - это ругается?
1
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
30.05.2012, 10:51
нет - не пашет! да - пашет!
2
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
30.05.2012, 10:52
Bit_Man, ну вот и разобрались!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.05.2012, 10:52
Помогаю со студенческими работами здесь

сложный запрос (для меня сложный)
Есть таблица с продажами услуг от разных фирм, есть таблица с оплатой за предоставленные услуги (при этом сумма оплат может не совпадать с...

Сложный запрос
Очередная и надеюсь последняя моя тема :D В запросе нужно вывести данные из 5 таблиц (встреча, студент, отец, мать,...

Сложный запрос из БД
Есть БД планшетов. Есть приложение, где выбираешь характеристики - и тебе подбирают планшеты с этими характеристиками. Проблема в...

Сложный запрос
Бодрое утро, подскажите нужно сделать запрос результат которого нужно добавить до текущей таблицы. Как такое провернуть?

Сложный запрос
Делаю поиск по тегам в iamgeboard'е. Есть 3 типа тегов (опционально, т.е. каждый тип может быть, а может и нет): - Обычные: tag1,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru