Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 2

Запросы к базе данных о сети магазинов

11.05.2017, 12:38. Показов 4221. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
5. Сеть магазинов
Минимальный список характеристик:
• Номер, ФИО, адрес, телефон владельца магазина, размер вклада в магазин, номер регистрации, дата регистрации;
• номер, название, адрес и телефон магазина, уставной капитал, профиль;
• номер, ФИО, адрес, телефон поставщика, а также стоимость поставки данного поставщика в данный магазин.
Один и тот же магазин может иметь несколько владельцев и один и тот же владелец может иметь в собственности много магазинов.
Примечание: профиль - продуктовый, галантерейный, канцелярский и т.п.
Выборки:
• Определить самого молодого предпринимателя, владеющего собственностью в районе 'Киевский'.
• Определить случаи, когда регистрировалось владение лицами, не достигшими 18 лет.
• Определить случаи, когда больше 50% уставного капитала магазина внесено предпринимателем, проживающим в другом районе.
• Вывести список профилей магазинов, которыми владеет предприниматель 'Кузнецов' в порядке убывания вложенного в них капитала
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2017, 12:38
Ответы с готовыми решениями:

Поиск ближайших магазинов в базе данных
Всем привет. Есть такая задача, есть список магазинов, допустим они расположены в бд, имеются их адреса. По нажатию кнопки, мне нужно...

Запросы к базе данных!
Доброго вечера коллеги. Что есть и как работает: В базе пока 4 таблики связанные друг с другом отнощениями (один к одному т.е....

Запросы к базе данных
Сколько читаю не могу понять. Как мы можем обращаться программно к определенному элементу бд. Например сейчас решил сделать простую форму...

6
1 / 1 / 0
Регистрация: 13.04.2019
Сообщений: 3
30.01.2020, 14:26
Второй запрос может быть записан примерно так:
SQL
1
2
3
4
5
SELECT владение.Код_владения, владение.К_владельца, владение.К_магазина, владелец.ФИО, владелец.Д_Рож, магазин.И_магазина, магазин.Д_регистрации, Datediff("yyyy",[владелец.Д_Рож],[магазин.Д_регистрации]) AS Возраст
FROM  владелец, владение, магазин
WHERE  владелец.[К_владельца] = владение.[К_владельца] AND магазин.[К_магазина] = владение.[К_магазина]
GROUP BY владение.Код_владения, владение.К_владельца, владение.К_магазина, владелец.ФИО, владелец.Д_Рож, магазин.И_магазина, магазин.Д_регистрации
HAVING Datediff("yyyy",[владелец.Д_Рож],[магазин.Д_регистрации]) < 18;
Добавлено через 37 минут
Первый запрос может быть сформирован из 2 подзапросов и одного общего:
Сначала ищем все магазины в Киевском районе
SQL
1
2
3
SELECT магазин.К_магазина, магазин.К_РНА, районы.Название
FROM районы INNER JOIN магазин ON районы.[К_РНА] = магазин.[К_РНА]
WHERE районы.Название = "Киевский";
Затем найдем самого молодого предпринимателя:
SQL
1
2
3
4
SELECT владелец.[К_владельца], владелец.[ФИО], MIN(владелец.[Д_Рож]) AS Младший
FROM владелец
WHERE владелец.[Д_Рож] IN ( SELECT MAX(владелец.[Д_Рож]) FROM владелец)
GROUP BY владелец.[К_владельца], владелец.[ФИО];
Объединим все это в одном запросе:
SQL
1
2
3
4
SELECT владение.Код_владения, маг_киев.К_магазина, маг_киев.Название, магазин.И_магазина, владение.К_владельца, мол_влад.К_владельца
FROM мол_влад, маг_киев INNER JOIN (магазин INNER JOIN владение ON магазин.К_магазина = владение.К_магазина) ON маг_киев.К_магазина = магазин.К_магазина
WHERE (((владение.К_владельца)=[мол_влад].[К_владельца]))
GROUP BY владение.Код_владения, маг_киев.К_магазина, маг_киев.Название, магазин.И_магазина, владение.К_владельца, мол_влад.К_владельца;
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
30.01.2020, 14:29
Tikky2,

Обращаю Ваше внимание - вопрос был задан три года назад.
0
1 / 1 / 0
Регистрация: 13.04.2019
Сообщений: 3
30.01.2020, 19:48
Третий запрос вот так:
SQL
1
2
3
4
5
6
7
8
SELECT владение.Код_владения, владение.К_владельца, владелец.К_РНА,
 владение.К_магазина, владение.Вл_вклад, магазин.У_капитал, магазин.К_РНА
FROM владелец
 INNER JOIN (магазин
 INNER JOIN владение
 ON магазин.[К_магазина] = владение.[К_магазина])
 ON владелец.К_владельца = владение.К_владельца
WHERE владелец.К_РНА <> магазин.К_РНА AND (владение.Вл_вклад *1) / магазин.У_капитал > 0.5;
Добавлено через 1 минуту
Цитата Сообщение от Capi Посмотреть сообщение
Tikky2,

Обращаю Ваше внимание - вопрос был задан три года назад.
Понимаю, но свежих вопросов по данной БД не нашла, а раз уж сделала подходящие запросы, то почему бы и не поделится

4 запрос к данной БД о сети магазинов:
SQL
1
2
3
4
5
6
7
SELECT владение.К_владельца, владелец.ФИО, владение.К_магазина, магазин.К_профиля, профили.Название, владение.Вл_вклад
FROM (профили 
INNER JOIN магазин ON профили.[К_профиля] = магазин.[К_профиля]) 
INNER JOIN (владелец 
INNER JOIN владение ON владелец.[К_владельца] = владение.[К_владельца]) ON магазин.[К_магазина] = владение.[К_магазина]
WHERE (((владелец.ФИО)='Кузнецов'))
ORDER BY владение.Вл_вклад DESC;
1
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
30.01.2020, 20:09
Цитата Сообщение от Tikky2 Посмотреть сообщение
раз уж сделала подходящие запросы
Насколько они подходящие не знаю, есть сомнения.

Независимо от смысла и правильности/неправильности этих запросов пара соображений:
- в HAVING Datediff("yyyy",[владелец.Д_Рож],[магазин.Д_регистрации]) < 18
HAVING используется не к месту, HAVING применяется к результатам агрегирования;
- Datediff("yyyy",[владелец.Д_Рож],[магазин.Д_регистрации]) не всегда дает значение точного возраста на момент регистрации, так как не учитывает, наступил ли уже день рождения или нет.
1
1 / 1 / 0
Регистрация: 13.04.2019
Сообщений: 3
31.01.2020, 00:12
То есть мне нужно сначала установить ограничение на возраст меньше 18 в WHERE, а потом уже проводить группировку и в этом случае HAVING не нужен?
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
31.01.2020, 01:28
Да.

А возраст получать так:
DateDiff("yyyy", ДатаРожд, ДатаРег) + (Format(ДатаРег, "mmdd") < Format(ДатаРожд, "mmdd"))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2020, 01:28
Помогаю со студенческими работами здесь

Запросы в базе данных
Здравствуйте! Помогите, пожалуйста, правильно составить запрос, который выбирал бы данные из 3 таблиц... У меня есть запрос, который...

Запросы к базе данных
Подскажите, пожалуйста. Начал изучать базы данных и C#. Столбец &quot;Специальность&quot;. Мне нужно в combox вывести названия всех...

Запросы в базе данных
Прошу помочь ответить на 3 вопроса 1. Пусть текстовое поле на форме связано с полем Fees из таблицы Clients. Поле Fееs содержит...

Запросы к базе данных
Всем привет.:) Можно как нибудь с помощью C# взаимодействовать с базой данных сайта? Отправить запрос на добавление новости например

Запросы к базе данных
Здравствуйте, подскажите есть ли пример кода для выполнения sql запросы в netbeans к бд? На &quot;связке&quot; С# и firebird было так...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере 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. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru