Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
1

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

16.12.2013, 22:26. Показов 1857. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Друзья, помогите с запросом: "Определить покупателя. который купил те же товары. что и покупатель, купивший меньше всех товаров".
Как сделать с помощью трёх отдельных запросов я примерно представляю... а вот как всё это записать в один запрос (да и возможно ли это)?
Вложения
Тип файла: zip тогр фирма.zip (75.1 Кб, 13 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2013, 22:26
Ответы с готовыми решениями:

Как организовать выборку бо брендам
Собственно вопрос, как организовать выборку по брендам, есть таблица с брендами, и есть основная...

Как поместить несколько запросов в одном запросе MS Access?
У меня есть сложные запросы, и чтобы они быстрее работали, нужно создавать промежуточные таблицы. ...

Как в одном запросе найти min значение и разность дат?
Помогите, пожалуйста, в одном запросе необходимо: 1. на

Как сделать выборку периода даты в запросе с вычислением от запрошенной даты
Доброго времени суток! Есть форма, есть подчинённая форма, при запуске формы запрашивается...

6
 Аватар для V_Monomax
1406 / 1260 / 20
Регистрация: 09.08.2011
Сообщений: 2,319
Записей в блоге: 1
16.12.2013, 22:36 2
тебе вот сюда
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
17.12.2013, 00:35  [ТС] 3
а что там - там другой совершенно вопрос(((
0
4082 / 1462 / 401
Регистрация: 07.08.2013
Сообщений: 3,651
17.12.2013, 05:44 4
Лучший ответ Сообщение было отмечено как решение

Решение

)))) изначально вопрос звучал именно то что вам нужно
давайте учиться
и так имеем 2 запроса - простеньких
1 - накладные
SQL
1
2
SELECT s.ID_накладной, s.дата, s.Номер, s.ID_водителя
FROM Накладные AS s
и 2 - водители
SQL
1
2
SELECT t.ID_водителя, t.Фамилия
FROM водители AS t
теперь мы Хотим создать вот такой запрос
SQL
1
2
SELECT a1.Дата, a2.Фамилия
FROM Накладные AS a1 LEFT JOIN Водители AS a2 ON a1.ID_водителя=a2.ID_водителя
вот до этого момента у вас получается
теперь смотрите в строке from я запросы Накладные и Водители меняю на текст sql этих запросов
SQL
1
2
3
4
SELECT a1.Дата, a2.Фамилия
FROM (SELECT s.ID_накладной, s.дата, s.Номер, s.ID_водителя 
FROM Накладные AS s) AS a1 LEFT JOIN (SELECT t.ID_водителя, t.Фамилия
FROM водители AS t) AS a2 ON a1.ID_водителя=a2.ID_водителя
все - теперь запросы 1 и 2 не нужны, нужная инфа получается всего одним запросом
у подзапроса может быть свой подзапрос - главное не запутаться в alias-ах и что за что цеплять

удачи
3
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
17.12.2013, 09:46  [ТС] 5
snipe, -всё гениальное воистину просто!!! Спасибо!!!
0
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 27
17.12.2013, 10:51  [ТС] 6
Вот, мой шедевр:

SQL
1
2
3
4
5
6
7
8
9
10
SELECT DISTINCT t.[Код покупателя], t.Фирма, t.Город, t.Телефон
FROM (SELECT TOP 1 SUM(Продажи.Количество) AS kol, Продажи.[Код покупателя] AS idP
FROM Продажи
GROUP BY Продажи.[Код покупателя]
ORDER BY SUM(Продажи.Количество))  AS t1, [Справочник покупателей] AS t INNER JOIN ((SELECT t1.idP, Продажи.[Код товара]
FROM (SELECT TOP 1 SUM(Продажи.Количество) AS kol, Продажи.[Код покупателя] AS idP
FROM Продажи
GROUP BY Продажи.[Код покупателя]
ORDER BY SUM(Продажи.Количество)) AS t1 INNER JOIN Продажи ON t1.idP=Продажи.[Код покупателя])  AS t2 INNER JOIN Продажи ON t2.[Код товара] = Продажи.[Код товара]) ON t.[Код покупателя] = Продажи.[Код покупателя]
WHERE (((Продажи.[Код покупателя])<>[t1].[idP]));
Определяет покупателя. который купил те же товары. что и покупатель, купивший меньше всех товаров
Работает!!!

snipe - СПАСИБО

//... ведь легче научить ловить рыбу...
0
4082 / 1462 / 401
Регистрация: 07.08.2013
Сообщений: 3,651
17.12.2013, 12:04 7
тут главное принцип - если поняли - то хорошо
и не используйте без нужды одинаковые псевдонимы
у Акса может крышу снести
1
17.12.2013, 12:04
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.12.2013, 12:04
Помогаю со студенческими работами здесь

Не обновляются поля в запросе на выборку
При добавлении новой записи не обновляются поля в запросе на выборку

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

Указать значение на выборку в запросе, ссылаясь на поле в форме
Доброго времени суток Вопрос таков: на форме имеется поле со списком (с фиксированным набором...

Вывод пустых строк в запросе на выборку (не работает левое соединение)
Добрый день, коллеги! Имеем базу данных, которая во вложении и следующий запрос. SELECT...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
Как получить имя текущей ветки в Git
bytestream 24.01.2025
При работе с Git часто возникает необходимость определить имя текущей ветки, в которой ведется разработка. Знание текущей ветки является критически важным аспектом для эффективного управления. . .
Как отсортировать массив объектов по значению поля объекта в JavaScript
bytestream 24.01.2025
При разработке веб-приложений на JavaScript разработчики часто сталкиваются с необходимостью работать с массивами объектов. Эти структуры данных представляют собой упорядоченные наборы элементов, где. . .
Ошибка "src refspec master does not match any" при пуше коммита в Git
bytestream 24.01.2025
При работе с системой контроля версий Git разработчики нередко сталкиваются с различными ошибками, одной из которых является сообщение "src refspec master does not match any". Эта ошибка возникает. . .
Как округлить не более двух цифр после запятой в JavaScript
bytestream 24.01.2025
При работе с числами в JavaScript разработчики часто сталкиваются с необходимостью округления десятичных значений до определенного количества знаков после запятой. Это особенно важно при работе с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru