|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
Простой sql запрос(База данных кинотеатров)30.05.2012, 17:49. Показов 13993. Ответов 19
Метки нет (Все метки)
Помогите пожалуйста составить запрос!) Сделал простенькую базу данных кинотеатров, состоящую из 4 таблиц:
1. Кинотеатры 2. Работники 3. Залы 4. Сеансы(фильмы) Мне необходимо сделать следующее:" В каких кинотеатрах, на самый дешевый сеанс было продано самое большое кол-во билетов" Хотя бы с чего начать, что делать? Делать функцию, запрос?
0
|
|
| 30.05.2012, 17:49 | |
|
Ответы с готовыми решениями:
19
Простой SQL запрос Простой SQL запрос |
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 30.05.2012, 20:00 | |
|
А где свои попытки написать код? Я, например, принципиально не помогаю тем кто хочет чтобы за него все решили!!!
P.S. Запрос не сложный!
2
|
|
|
20 / 3 / 0
Регистрация: 12.05.2011
Сообщений: 45
|
||||||
| 31.05.2012, 00:17 | ||||||
|
Ну, насколько я вижу, для новичка - не самы простой запрос: тут есть, кроме основного, еще и подзапрос)). Я поддерживаю позицию katov-а, поэтому код писать не буду, но подскажу.
Для начала разобъем задачу. Надо найти: 1. Сеанс(ы), на которых самые дешевые билеты; 2. Из этих сеансов выбрать те, где продано наибольшее число билетов; 3. Узнать, названия кинотеатров, в которых проходили эти сеансы. Нужно вспомнить: агрегатные функции, подзапросы. Еще подсказка: можно делать так:
0
|
||||||
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 31.05.2012, 16:15 [ТС] | |
|
Отлично)) Давайте будем учиться)
Вот первые признаки жизни: из таблицы "Сеансы" для каждого кинотеатра нашел самые дешевые сеансы:
0
|
|
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 31.05.2012, 16:16 [ТС] | |
|
Дальше выбрал наибольшее число билетов:
0
|
|
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 31.05.2012, 18:04 | |
|
И что не так? Я прикинул варианты и пожалуй это самое правдоподобное решение!
Добавлено через 9 минут и не нравится мне схема данных! Добавлено через 12 минут В Halls нету ключевого поля Для Halls и Cinema нет связи, а должна бы быть!!! Название кинотетар в качестве первичного ключа мне не нравится вообще.. Уникальность лучше обеспечит составной ключ Название + Адрес. А еще лучше ввести поле id (при этом в каждой таблице, хотя может проект учебный и тогда вам за это влетит)) ) Workers.. ну тут все ок. Session - Название фильма очень неудачный первичный ключ (а вдруг выйдет фильм с таким же нзванием?) Код сеанса подозреваю может обеспечить уникальность, но утверждать не могу
0
|
|
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 31.05.2012, 18:14 [ТС] | |
|
Да я думаю тоже переделать таблицу....слушай а вот если в таблице есть связь многие-ко многим....то как ее представлять? вот например у меня есть кинотеатры и фильмы....в одном кинотеатре может показываться несколько фильмов, и фильм может показываться в одном кинотеатре?
я так прикинул таблица совсем неудачная
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 31.05.2012, 18:29 | |
|
многие-ко-многим развязывают еще одной таблицей
0
|
|
|
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
|
|
| 31.05.2012, 19:12 | |
|
И забудь про то, что ключевое поле может быть текстового типа
0
|
|
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|||
| 31.05.2012, 20:15 | |||
|
Переделаете схему сразу выкладывайте -народ здесь на советы не жмется!))
0
|
|||
| 31.05.2012, 20:38 | |
|
0
|
|
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 31.05.2012, 20:51 [ТС] | |
|
Так, ну вот исправленная версия....я убрал работники потому что они для запроса фактически не нужны, добавлю позже для более полной картины....
Теперь что думаете о базе и о запросе?
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 31.05.2012, 21:06 | |
|
Не-а, не взлетит. Потерял сеансы. На разные сеансы на один и тот же фильм в одном кинотеатре в одном прокате - разные цены. Или нет?
PS. Вообще - предметную область опиши красиво - полдела сделаешь сразу.
0
|
|
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 31.05.2012, 21:23 [ТС] | |
|
Как тогда поступить? еще одну таблицу добавить?"Сеансы"? Тогда что там должно быть? и с чем ее связывать?
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 31.05.2012, 21:32 | |
|
Балин.
Опиши предметную область. Пойми - какие сущности нужно выделить, как они связаны, попытайся провести нормализацию. Задавай вопросы. Но вот только не в здесь, а в родительской ветке ("Базы данных"). Потом искать легче.2Модеатор - перенесите тему.
0
|
|
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 31.05.2012, 22:03 [ТС] | |
|
блин че т все стало еще запутаннее(
Добавлено через 27 минут У меня еще один вопрос, вот по первоначальной базе, как к имеющейся выборке добавить еще залы с количеством мест <10...Пытаюсь добавить: Where Halls.[Кол-во мест] < 10 Но пишет : Столбец "Halls.Кол-во мест" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY.
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 31.05.2012, 22:07 | |
|
Для примера. Есть ряд кинотеатров и список фильмов. В прокате каждого кинотеатра может быть несколько фильмов. Каждый фильм может быть в прокате любого кинотеатра. Налицо - "многие-ко-многим". Развязываем сущностью "Прокат". Каждый "Прокат" имеет не менее одного сеанса. Каждый сеанс определенного кинотеатра демонстрирует только один фильм.
PS Атрибутами сущности пробуй наделить сам. Спрашивай. ЗЫ В этой эхе больше не отвечаю
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 31.05.2012, 22:14 | |
|
0
|
|
|
7 / 15 / 0
Регистрация: 08.03.2011
Сообщений: 100
|
|
| 01.06.2012, 20:31 [ТС] | |
|
Как необходимо дополнить следующий запрос, чтобы получить из этих двук строк одну НО должно быть:
-Цена билета минимальна(т.е 39) -Кол-во проданных билетов максимально(т.е 234455656) -Число мест в зале должно удовлетворять условию: меньше 20
0
|
|
|
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
|
|
| 04.06.2012, 12:24 | |
|
Для цены билета использовать функцию MIN(). Для количества проданных билетов функцию MAX(). Число мест нужно отфильтровать во фразе WHERE.
0
|
|
| 04.06.2012, 12:24 | |
|
Помогаю со студенческими работами здесь
20
Простой запрос SQL Простой SQL запрос посмотриет sql-запрос(простой) Простой SQL запрос получения количества по определённой дате Как выполнить простой SELECT запрос с помощью Linq to SQL? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|