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

Запрос в Access на языке SQL

20.10.2016, 11:29. Показов 2502. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Есть две таблицы: в одной хранятся сведения по акциям и их номинальной стоимости, а во второй - сведения о продаже этих акций в магазинах.

Задача: определить магазин, у которого все цены самые низкие.. ...Я так понимаю, что требуется найти магазины, в которых каждая акция стоит меньше, чем соответствующая акция в других магазинах.

Не соображу, что должно быть в подзапросе... Спасибо, всем кто поможет
Вложения
Тип файла: rar Help.rar (13.2 Кб, 7 просмотров)
Тип файла: zip Help-2003.zip (12.2 Кб, 3 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.10.2016, 11:29
Ответы с готовыми решениями:

Запрос в MS Access на языке SQL
1. Составьте запрос, который вывел бы рейтинг, имя заказчика и город из таблицы Заказчик, упорядочив строки по рейтингу в обратном...

запросы на языке SQL в access
Всем добрый вечер, помогите реализовать 3 простых запроса на языке SQL Базы данных, откуда берется результат нет под рукой, поэтому можно...

Параметризированный запрос на языке SQL
поддерживает ли mssql параметризированный запрос формата SELECT * FROM TableName WHERE ColumnName IN(@vals) и какой тип параметра будет...

34
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
20.10.2016, 12:39
Цитата Сообщение от СтасиД Посмотреть сообщение
Спасибо, всем кто поможет
Вернее всем, кто откроет.
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
20.10.2016, 13:00
Не обязательно сравнивать каждую акцию по цене. Достаточно сравнить средние цены. Магазин с минимальной стоимостью каждой акции может быть только тот, у которого средняя цена минимальна. Иначе в каком-то другом магазине цена может быть меньше. Если конечно в каждом магазине есть одинаковый набор акций. Если же не одинаковый, то вообще исчезает предмет сравнения. И можно опять таки сравнивать только по средней цене
SQL
1
2
3
4
SELECT top 1 R2.[Фондовый магазин], Avg(R2.[Цена продажи]) AS [Summa]
FROM R1 LEFT JOIN R2 ON R1.Акция = R2.Акция
GROUP BY R2.[Фондовый магазин]
ORDER BY Avg(R2.[Цена продажи])
1
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 14:23
Цитата Сообщение от СтасиД Посмотреть сообщение
определить магазин, у которого все цены самые низкие.. ...
мне понравилось задание
mobile, я считаю что нужно выбрать магазины, у которых конкретные акции
стоят наименьше или равно, чем в других магазинах (формулировка все цены самые низкие, как мне кажется не имеет смысла), логика в том чтоб пойти и купить акцию в магазине по наинизшей цене
SQL
1
2
3
SELECT R2.[Фондовый магазин], R2.Акция, q1.[Минимальная цена]
FROM R2 INNER JOIN (SELECT Акция, MIN([Цена продажи]) AS [Минимальная цена] FROM R2 GROUP BY Акция) AS q1
ON (R2.[Цена продажи] = q1.[Минимальная цена]) AND (R2.Акция = q1.Акция)
предлагаю такой вариант
1
547 / 274 / 50
Регистрация: 03.04.2015
Сообщений: 926
20.10.2016, 14:33
Цитата Сообщение от СтасиД Посмотреть сообщение
ВСЕ цены самые низкие
это как раз среднее
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 14:40
Цитата Сообщение от corbis Посмотреть сообщение
это как раз среднее
позволю не согласиться.
средняя цена всех акций может быть самой низкой в конкретном магазине, но это не означает
что в нем не могут продаваться некоторые акции, которые стоят дороже, чем в других магазинах.
0
199 / 8 / 0
Регистрация: 19.11.2015
Сообщений: 145
20.10.2016, 14:55  [ТС]
Спасибо большое за помощь... Честно говоря, не все понятно..Разбираюсь..
mobile, я не совсем поняла, почему связываете через LEFT JOIN..

Добавлено через 6 минут
boby104, я что-то совсем запуталась в конструкции..Можно ли преобразовать Ваш запрос в запрос с подзапросом.. Кажется, что можно, но не получается..
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 14:57
Цитата Сообщение от СтасиД Посмотреть сообщение
Можно ли преобразовать Ваш запрос в запрос с подзапросом.. Кажется, что можно, но не получается..
это как раз и есть запрос с вложеным подзапросом
подзапрос это та часть
Oracle 11 SQL
1
(SELECT Акция, MIN([Цена продажи]) AS [Минимальная цена] FROM R2 GROUP BY Акция) AS q1
0
199 / 8 / 0
Регистрация: 19.11.2015
Сообщений: 145
20.10.2016, 15:02  [ТС]
Я не совсем правильно выразилась.. А нельзя ли подзапрос перенести в HAVING.. Не привычно как-то мне во From..
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 15:03
вот как это выглядит на вашей базе
запрос1 - это подзапрос
в запросе2 он использован в тексте (текстовая часть)
в запросе3 он использован как объект базы данных
Вложения
Тип файла: rar Help.rar (19.0 Кб, 2 просмотров)
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 15:05
Цитата Сообщение от СтасиД Посмотреть сообщение
А нельзя ли подзапрос перенести в HAVING
а вот тут совсем не понятно
подзапрос и хавинг разные вещи - и используются для разных целей
0
199 / 8 / 0
Регистрация: 19.11.2015
Сообщений: 145
20.10.2016, 15:15  [ТС]
Есть идея, но знаний не хватает додумать до конца. Магазин, у которого все цены низкие - это магазин, у которого нет ни одной акции, продаваемой дороже, чем у других.. Пытаюсь сделать с алиасами - в подзапросе подсчитать для каждого магазина количество акций, продаваемых дороже..
Пробую так (Чтоб не думали, что я сижу и жду когда за меня все сделают, я правда, пытаюсь..)..
SQL
1
2
3
4
5
6
7
8
9
10
SELECT DISTINCT [Фондовый магазин]
FROM R2 AS T1
GROUP BY [Фондовый магазин]
HAVING  [Фондовый магазин] IN
(SELECT [Фондовый магазин]
FROM R2 T2
WHERE T1.[Фондовый магазин] <> T2.[Фондовый магазин]
 AND T1.АКЦИЯ=T2.АКЦИЯ AND T1.[Цена продажи] >= T2.[Цена продажи]
GROUP BY [Фондовый магазин]
HAVING COUNT (*)=0);
Добавлено через 2 минуты
Но не работает...
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 15:22
Цитата Сообщение от СтасиД Посмотреть сообщение
Магазин, у которого все цены низкие - это магазин, у которого нет ни одной акции, продаваемой дороже, чем у других
в вашем примере такое условие не имеет решения....
посмотрите на мой запрос2 и вы увидите что магазин Финансы плюс имеет почти все акции по минимальной цене кроме
акции RU0007661302 которая дешевле в магазине Кредит минус
0
199 / 8 / 0
Регистрация: 19.11.2015
Сообщений: 145
20.10.2016, 16:01  [ТС]
Не поняла - что значит такое условие не имеет решение..

Добавлено через 2 минуты
магазин Финансы плюс не должен выводиться.

Добавлено через 13 минут
Правильно ли я поняла логику Вашего запроса, что выводится магазин, если цена продаваемой им акции равна минимальной цене этой акции.. Но надо найти магазин, где ВСе акции стоят дороже..
1
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 16:08
Чтоб запрос вывел необходимые данные - должна быть хоть одна запись которая б удовлетворяла условиям отбора.
в вашем примере нет такого магазина где все акции дешевле чем в других

Добавлено через 3 минуты
Цитата Сообщение от СтасиД Посмотреть сообщение
Правильно ли я поняла логику Вашего запроса, что выводится магазин, если цена продаваемой им акции равна минимальной цене этой акции.. Но надо найти магазин, где ВСе акции стоят дороже..
абсолютно не правильно.
в запросе выводятся все акции и только те магазины, где они продаются по минимальной цене.
Вы случайно не путаете понятие минимальная цена акции и номинальная цена акции!!!
0
199 / 8 / 0
Регистрация: 19.11.2015
Сообщений: 145
20.10.2016, 16:12  [ТС]
Нет, не путаю, я про первую таблицу пока "забыла"...Видимо, опять не правильно выразилась.. Но если нет ни одного магазина, соответствующего условию в запросе, то он ничего не должен выводить.. А ведь он выводит..

Добавлено через 48 секунд
Надо, чтов в магазине ВСе акции были по минимальной цене, а по запросу получается Некоторые..
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 16:33
Цитата Сообщение от СтасиД Посмотреть сообщение
Надо, чтов в магазине ВСе акции были по минимальной цене,
Вы понимаете, что такое условие может быть только в теории
на практике не выполнимо
а вот ваш запрос
SQL
1
2
3
4
5
SELECT q2.[Фондовый магазин]
FROM (SELECT R2.[Фондовый магазин], R2.Акция, q1.[Минимальная цена]
FROM R2 INNER JOIN (SELECT Акция, MIN([Цена продажи]) AS [Минимальная цена] FROM R2 GROUP BY Акция)  AS q1 ON (R2.Акция = q1.Акция) AND (R2.[Цена продажи] = q1.[Минимальная цена])) AS q2
GROUP BY  q2.[Фондовый магазин]
HAVING COUNT(q2.[Фондовый магазин]) = (SELECT COUNT(*) FROM R1)
но он выводит пустоту - нет такого магазина в вашем примере
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 16:39
запрос4 текстом
запрос5 используя запрос3 как объект базы
Вложения
Тип файла: rar Help.rar (23.4 Кб, 2 просмотров)
0
199 / 8 / 0
Регистрация: 19.11.2015
Сообщений: 145
20.10.2016, 16:49  [ТС]
Хотелось бы сначала еще раз поблагодарить Вас за то, что возитесь со мной.. Я Вам очень признательна.. Это правда, я бы сама уже "закипела"..

Добавлено через 2 минуты
Разбираюсь с запросами..Извините, спрошу по терминологии - что значит запрос текстом и запрос3 как объект базы

Добавлено через 2 минуты
По терминам поняла..
0
1266 / 448 / 129
Регистрация: 21.03.2013
Сообщений: 1,210
20.10.2016, 16:52
запрос текстом SQL запрос4 сам формирует встроенные запросы и проводит над ними вычисления, этих подзапросов нет в разделе запросы базы- они существуют только в тексте основного запроса их имена q1 и q2.
а другой запрос5 использует запрос который ранее был сохранен в базе под именем Запрос3 (эквивалент q2)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.10.2016, 16:52
Помогаю со студенческими работами здесь

Запрос на языке SQL бд КНИГИ
Привет, ребят) Столкнулась с некоторой трудностью при выполнении задания на языке SQL. Нужно найти авторов, у которых при написании разных...

Адаптировать SQL запрос в запрос для access
Помогите пожалуйста: имеется вот такой рабочий запрос созданный в exel. но так как Exel перестал вывозить разросшиюся базу перевозим все...

Запрос в SQL Access
Есть таблица: Необходимо создать запрос на подсчет кол-ва изучаемых предметов. Буду очень благодарен за помощь.

Access Запрос в SQL
Есть БД .. Нужно составить запрос в SQL: Найти работников, у которых ученая степень д.т.н. и (или) надбавка за уровень аккредитации больше...

Запрос SQL в Access
Реализовать SQL-запрос таким образом, чтобы в таблице отображались поля «Фамилии», «Имя», «Стипендия», только тех студентов у кого нет...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru