powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Необычный SQL запрос на выборку
23 сообщений из 23, страница 1 из 1
Необычный SQL запрос на выборку
    #39541179
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Есть таблица/запрос содержащая следующую информацию:

ГруппаФИООценка54Еремеев Эдуард Викторович354Пупкин Иван Петрович254Иванов Сергей Викторович555Никифоров Алексей Викторович355Петров Леонид Иванович456Алешин Виктор Олегович456Суслов Хомяк Эдуардович456Николаева Ольга Александровна556 Уваров Виталий Ильич3и т.д.
Необходимо вывести ФИО n количества людей из каждой группы с наибольшими оценками.
СУБД MS Access 2010. К сожалению сам не догадался как это сделать с помощью запросов, а с VBA вообще не знаком.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541186
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте на основе этой таблицы запрос, который выведет группы, и для каждой группы максимальную оценку в ней. Мастером.
Создайте на основе этой таблицы и построенного запроса второй запрос, который выведет всех людей, получивших эту максимальную в своей группе оценку. Тоже мастером.
Подсчёт количества лучше сделайте в отчёте - у него есть средства подсчёта записей в группах.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541198
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nevill,
для наглядности
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541206
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Была такая мысль, но если требуется например вывести не только тех у кого оценка 5, но и 4. Пропустил эту мысль, думал может есть чего нибудь типа TOP который в SELECT прописывается.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541208
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nevillно если требуется напримерЭто совсем другая задача. Со своим решением.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541213
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
С другой стороны, если исходить из конкретно поставленной задачи, а не того что я накрутил сверху Ваш совет то, что нужно. Спасибо большое.
Если у кого появятся идеи как сделать навороты типо того что я описал. Буду рад.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541216
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет тут наворотов. Есть неполная постановка недоопределённой задачи. По большому счёту - элементарной, почти тривиальной, достаточно лишь точно как я расписал выше, поделить её решение на элементарные шаги, и каждый из них пройти отдельным запросом.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541218
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал сформировать отчет, но не знаю как ограничить количество выводимых строк в "Области данных". Может кто подскажет, тогда фамилии будут выводиться в количестве которое можно будет задать.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541222
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что бы понятнее было о чем я прикреплю скрин отчета.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541223
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nevillне знаю как ограничить количество выводимых строк в "Области данных".Количество записей следует ограничивать в запросе-источнике данных (SELECT TOP ? ...). А задать его можно, например, добавив поле в заголовок отчёта и по введённому значению изменять источник данных, или создав форму ввода и по введённому значению корректировать запрос, являющийся источником данных... да вариантов масса.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541229
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
не совсем понимаю как это сделать. Если добавить TOP, то он же будет ограничивать общее количество записей в результате, а не записей относящихся к конкретному отделению? Или разбить на запросы с отдельными отделениями? Я многого не знаю и не понимаю, так что не удивляйтесь пожалуйста глупым вопросам.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541231
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам надо ограничивать в каждой группе? это опять совсем иная задача, и совсем с другим решением. Посмотри, например, http://www.sql.ru/forum/1225456/vybrat-top-zapisey-iz-kazhdoy-gruppy - ну и вообще просто воспользуйся поиском. Поверь, пока тебе будет сложно придумать оригинальную и никем не решённую задачу...
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39541304
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
это верно, дело скорее в том, что я зачастую формулирую вопрос не так как это делали до меня. Поэтому не всегда удается найти ответ на возникший вопрос.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39543516
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, высокое искусство писания коррелированных запросов утрачено.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
declare @t table(g int, o int, n nvarchar(10));

insert @t values( 1, 2, 'aaa'), ( 1, 3, 'aab'), ( 1, 4, 'aac'), ( 2, 22, 'baa'), ( 2, 32, 'caa'), ( 2, 42, 'daa'), ( 2, 52, 'eaa');



select *
  from @t as t 
  where t.o in ( select top(2) o from @t as tt where tt.g = t.g and o is not null order by o desc);


g           o           n
----------- ----------- ----------
1           3           aab
1           4           aac
2           42          daa
2           52          eaa
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544009
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,
с 3 полями и запросом вместо таблицы работает, как только пытаюсь прикрутить дополнительные поля в запрос из которого берутся данные выводит пустую таблицу. Может Вы подскажете в чем может быть проблема?
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544018
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nevillaleks222,
с 3 полями и запросом вместо таблицы работает, как только пытаюсь прикрутить дополнительные поля в запрос из которого берутся данные выводит пустую таблицу. Может Вы подскажете в чем может быть проблема?

Т.е. предлагается угадать, чего ты там пишешь?

Увы, мой хрустальный шар мутноват.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544024
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,
что бы было понятнее вот ссылка на БД . Сделал запрос СамыеАктивныеПодписчики на основе запроса СписокПодписчиков, запрос работает, а отчет на основе этого запроса почему то выводится пустой. Пробовал сделать запрос аналогичный Вашему на основе имеющегося запроса ЗапросСтоимостьПодписок (на пару полей больше чем в первом запросе), но в результате запроса получается пустая таблица.
Объяснение наверняка запутанное, но хотя бы более наглядное.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544028
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nevillaleks222,
что бы было понятнее вот ссылка на БД . Сделал запрос СамыеАктивныеПодписчики на основе запроса СписокПодписчиков, запрос работает, а отчет на основе этого запроса почему то выводится пустой. Пробовал сделать запрос аналогичный Вашему на основе имеющегося запроса ЗапросСтоимостьПодписок (на пару полей больше чем в первом запросе), но в результате запроса получается пустая таблица.
Объяснение наверняка запутанное, но хотя бы более наглядное.

Я не буду смотреть "БД" - текст запроса гоните.

ЗЫ. Но мой хрустальный шар намекает: is not null ты похерил.
А напрасно.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544029
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,
Данные беру из ЗапросСтоимостьПодписок (НомерОтделения, НомерПодписчика, ФИО, Количество, Стоимость).
Код: sql
1.
2.
3.
SELECT *
FROM ЗапросСтоимостьПодписок
WHERE ЗапросСтоимостьПодписок.Количество in ( select top 1 Количество from ЗапросСтоимостьПодписок as zz where zz.НомерОтделения = ЗапросСтоимостьПодписок.НомерОтделения and Количество is not null order by Количество desc);
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544124
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нихрена на понял: на что жалуетесь?

Я даже базу открыл - усе ж работает?
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544185
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,
открыл базу на другом компе, создал запрос и скопипастил написанный выше SQL запрос в него, результат тот же что я описывал выше. Если ЗапросСтоимостьПодписок сохранить как таблицу то все работает. Косяк скорее всего банальный, но я сам к сожалению найти его не могу.
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544255
Фотография simply
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Необычный SQL запрос на выборку
    #39544485
Nevill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
simply,
спасибо, с отчетом разобрался.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Необычный SQL запрос на выборку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]