|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть таблица/запрос содержащая следующую информацию: ГруппаФИООценка54Еремеев Эдуард Викторович354Пупкин Иван Петрович254Иванов Сергей Викторович555Никифоров Алексей Викторович355Петров Леонид Иванович456Алешин Виктор Олегович456Суслов Хомяк Эдуардович456Николаева Ольга Александровна556 Уваров Виталий Ильич3и т.д. Необходимо вывести ФИО n количества людей из каждой группы с наибольшими оценками. СУБД MS Access 2010. К сожалению сам не догадался как это сделать с помощью запросов, а с VBA вообще не знаком. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 15:47 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Создайте на основе этой таблицы запрос, который выведет группы, и для каждой группы максимальную оценку в ней. Мастером. Создайте на основе этой таблицы и построенного запроса второй запрос, который выведет всех людей, получивших эту максимальную в своей группе оценку. Тоже мастером. Подсчёт количества лучше сделайте в отчёте - у него есть средства подсчёта записей в группах. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 15:58 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Nevill, для наглядности ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:10 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Akina, Была такая мысль, но если требуется например вывести не только тех у кого оценка 5, но и 4. Пропустил эту мысль, думал может есть чего нибудь типа TOP который в SELECT прописывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:18 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Nevillно если требуется напримерЭто совсем другая задача. Со своим решением. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:25 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Akina, С другой стороны, если исходить из конкретно поставленной задачи, а не того что я накрутил сверху Ваш совет то, что нужно. Спасибо большое. Если у кого появятся идеи как сделать навороты типо того что я описал. Буду рад. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:29 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Нет тут наворотов. Есть неполная постановка недоопределённой задачи. По большому счёту - элементарной, почти тривиальной, достаточно лишь точно как я расписал выше, поделить её решение на элементарные шаги, и каждый из них пройти отдельным запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:33 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Пробовал сформировать отчет, но не знаю как ограничить количество выводимых строк в "Области данных". Может кто подскажет, тогда фамилии будут выводиться в количестве которое можно будет задать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:38 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Что бы понятнее было о чем я прикреплю скрин отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:42 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Nevillне знаю как ограничить количество выводимых строк в "Области данных".Количество записей следует ограничивать в запросе-источнике данных (SELECT TOP ? ...). А задать его можно, например, добавив поле в заголовок отчёта и по введённому значению изменять источник данных, или создав форму ввода и по введённому значению корректировать запрос, являющийся источником данных... да вариантов масса. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:43 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Akina, не совсем понимаю как это сделать. Если добавить TOP, то он же будет ограничивать общее количество записей в результате, а не записей относящихся к конкретному отделению? Или разбить на запросы с отдельными отделениями? Я многого не знаю и не понимаю, так что не удивляйтесь пожалуйста глупым вопросам. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 16:55 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Вам надо ограничивать в каждой группе? это опять совсем иная задача, и совсем с другим решением. Посмотри, например, http://www.sql.ru/forum/1225456/vybrat-top-zapisey-iz-kazhdoy-gruppy - ну и вообще просто воспользуйся поиском. Поверь, пока тебе будет сложно придумать оригинальную и никем не решённую задачу... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 17:02 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Akina, это верно, дело скорее в том, что я зачастую формулирую вопрос не так как это делали до меня. Поэтому не всегда удается найти ответ на возникший вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 19:49 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Да, высокое искусство писания коррелированных запросов утрачено. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2017, 19:15 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
aleks222, с 3 полями и запросом вместо таблицы работает, как только пытаюсь прикрутить дополнительные поля в запрос из которого берутся данные выводит пустую таблицу. Может Вы подскажете в чем может быть проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 15:44 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Nevillaleks222, с 3 полями и запросом вместо таблицы работает, как только пытаюсь прикрутить дополнительные поля в запрос из которого берутся данные выводит пустую таблицу. Может Вы подскажете в чем может быть проблема? Т.е. предлагается угадать, чего ты там пишешь? Увы, мой хрустальный шар мутноват. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 16:28 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
aleks222, что бы было понятнее вот ссылка на БД . Сделал запрос СамыеАктивныеПодписчики на основе запроса СписокПодписчиков, запрос работает, а отчет на основе этого запроса почему то выводится пустой. Пробовал сделать запрос аналогичный Вашему на основе имеющегося запроса ЗапросСтоимостьПодписок (на пару полей больше чем в первом запросе), но в результате запроса получается пустая таблица. Объяснение наверняка запутанное, но хотя бы более наглядное. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 17:08 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Nevillaleks222, что бы было понятнее вот ссылка на БД . Сделал запрос СамыеАктивныеПодписчики на основе запроса СписокПодписчиков, запрос работает, а отчет на основе этого запроса почему то выводится пустой. Пробовал сделать запрос аналогичный Вашему на основе имеющегося запроса ЗапросСтоимостьПодписок (на пару полей больше чем в первом запросе), но в результате запроса получается пустая таблица. Объяснение наверняка запутанное, но хотя бы более наглядное. Я не буду смотреть "БД" - текст запроса гоните. ЗЫ. Но мой хрустальный шар намекает: is not null ты похерил. А напрасно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 17:18 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
aleks222, Данные беру из ЗапросСтоимостьПодписок (НомерОтделения, НомерПодписчика, ФИО, Количество, Стоимость). Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 17:35 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
Нихрена на понял: на что жалуетесь? Я даже базу открыл - усе ж работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2017, 06:00 |
|
Необычный SQL запрос на выборку
|
|||
---|---|---|---|
#18+
aleks222, открыл базу на другом компе, создал запрос и скопипастил написанный выше SQL запрос в него, результат тот же что я описывал выше. Если ЗапросСтоимостьПодписок сохранить как таблицу то все работает. Косяк скорее всего банальный, но я сам к сожалению найти его не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2017, 09:47 |
|
|
start [/forum/topic.php?fid=45&msg=39544009&tid=1611956]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 137ms |
0 / 0 |