Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Основоположник на всё
 Аватар для Fedor666
44 / 44 / 3
Регистрация: 22.02.2010
Сообщений: 362

Условие строго после сортировки

06.09.2019, 23:49. Показов 1575. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!

Использую в запросе на выборку в качестве условия публичную функцию, подсчитывающую некоторую сумму по контрагенту в статичной переменной. Но надо чтобы сначала таблица была отсортирована по контрагентам. В конструкторе запросов сначала идет сортировка, потом условие. Работает, но не всегда. Есть подозрение, что в целях оптимизации access может сначала отсеять по условию, чтобы потом меньше было сортировать. Может такое быть? И что тогда делать?
Или как другим путем решить задачу: есть таблица с ФИО, числом и датой. ФИО может повторяться с разными числами и датой. Надо отобрать последние по дате записи так, чтобы на одно ФИО сумма чисел не превышала 100.

Заранее спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.09.2019, 23:49
Ответы с готовыми решениями:

Сделать так, чтобы после сортировки вектора указатель показывал на тот же элемент, что и до сортировки
Есть вектор(STL) элементов. У меня есть указатель на определенный элемент. Я хочу сделать так, чтобы после сортировки этого вектора...

Выяснить является ли заданная последовательность строго возрастающей, строго убывающей, или ни тем и ни другим
На вход программы дается целое положительное число N большее единицы (N>1) и последовательность из N целых чисел. Написать Ascending, если...

Найти натуральные числа до N, десятичная запись которых - строго возрастающая или строго убывающая последовательность
Найти все натуральные числа не превосходящие заданного n, десятичная запись которых есть строго возрастающая или строго убывающая...

5
4087 / 1467 / 401
Регистрация: 07.08.2013
Сообщений: 3,665
07.09.2019, 04:04
сделайте через подзапрос
выглядеть будет так
SQL
1
2
3
4
SELECT a1.*
FROM
( SELECT  FROM в общем в скобках запрос с сортировкой ) AS a1
WHERE a1.[ФИО]="Иванов Иван Иванович"
1
Основоположник на всё
 Аватар для Fedor666
44 / 44 / 3
Регистрация: 22.02.2010
Сообщений: 362
07.09.2019, 07:19  [ТС]
snipe, через подзапрос с сортировкой не получается то же. На экран выводит по порядку, а бряк в функции показывает, что она вызывается до сортировки. Выходит, сортировка в подзапросах откладывается ядром SQL на потом или скорее внешнее условие спускается в подзапрос. Вот засада!
0
4087 / 1467 / 401
Регистрация: 07.08.2013
Сообщений: 3,665
07.09.2019, 07:52
по логике сначала отрабатывает подзапрос а уже потом основной запрос
надо смотреть что вы сделали
0
Основоположник на всё
 Аватар для Fedor666
44 / 44 / 3
Регистрация: 22.02.2010
Сообщений: 362
07.09.2019, 08:13  [ТС]
Сначала идут два склеенных UNION ALL запроса, вокруг запрос с сортировкой, еще выше запрос с функцией на условие. Бряк в функции показывает, что сначала идут все поля из первого в UNION ALL запроса и сортировка ему по боку. После всего этого ужаса, на экран выводится отсортированная информация. Приколы ядра, видимо.
И как тут быть?

Добавлено через 19 минут
Как другим путем решить задачу: есть таблица с ФИО, числом и датой. ФИО может повторяться с разными числами и датой. Надо отобрать по всем ФИО последние по дате записи так, чтобы на одно ФИО сумма чисел не превышала 100 и не париться с оптимизацией ядра.
0
Эксперт MS Access
26823 / 14503 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
07.09.2019, 11:26
Лучший ответ Сообщение было отмечено Fedor666 как решение

Решение

Цитата Сообщение от Fedor666 Посмотреть сообщение
есть таблица с ФИО, числом и датой. ФИО может повторяться с разными числами и датой. Надо отобрать по всем ФИО последние по дате записи так, чтобы на одно ФИО сумма чисел не превышала 100
Если данных не очень много, не сотни тысяч, то можно применить запрос типа "нарастающим итогом"
SQL
1
2
3
4
5
6
7
SELECT z1.ФИО, z1.Дата, SUM(z2.Число) AS Сумма
FROM Таблица z1 INNER JOIN 
(SELECT ФИО, Дата, Число
FROM Таблица ORDER BY ФИО, Дата DESC) z2 ON z1.ФИО=z2.ФИО AND z1.Дата<=z2.Дата
GROUP BY z1.ФИО, z1.Дата
HAVING SUM(z2.Число)<=100
ORDER BY z1.ФИО, z1.Дата DESC
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2019, 11:26
Помогаю со студенческими работами здесь

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

Найти все натуральные числа, не превосходящие заданного N, десятичная запись которых есть строго возрастающая или строго
Найти все натуральные числа, не превосходящие заданного N, десятичная запись которых есть строго возрастающая или строго убывающая...

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

Можно ли передавать условие сортировки массива
Доброго всем времечка суток! Порылся-порылся в разных всяких источниках и понял, что лучше взять &quot;помощь друга&quot;. То ли запросы не...

Условие для сортировки списка структур
Добрый день! помогите пожалуйста написать правильно условие для сортировки: например есть несколько диапазонов значений: From1 =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Создаем микросервисы с Go и Kubernetes
golander 02.07.2025
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач: . . .
C++23, квантовые вычисления и взаимодействие с Q#
bytestream 02.07.2025
Я всегда с некоторым скептицизмом относился к громким заявлениям о революциях в IT, но квантовые вычисления - это тот случай, когда революция действительно происходит прямо у нас на глазах. Последние. . .
Вот в чем сила LM.
Hrethgir 02.07.2025
как на английском будет “обслуживание“ Слово «обслуживание» на английском языке может переводиться несколькими способами в зависимости от контекста: * **Service** — самый распространённый. . .
Использование Keycloak со Spring Boot и интеграция Identity Provider
Javaican 01.07.2025
Два года назад я получил задачу, которая сначала показалась тривиальной: интегрировать корпоративную аутентификацию в микросервисную архитектуру. На тот момент у нас было семь Spring Boot приложений,. . .
Содержание темы с примерами на WebGL
8Observer8 01.07.2025
Все примеры из книги Мацуды и Ли в песочнице JSFiddle Пример выводит точку красного цвета размером 10 пикселей на WebGL 1. 0 и 2. 0 WebGL 1. 0. Передача координаты точки из главной программы в. . .
Основы WebGL. Простой треугольник
8Observer8 01.07.2025
Простой треугольник без трансформаций. Для трансформаций можно использовать glMatrix, как в примере: https:/ / plnkr. co/ edit/ qT6ZTwvncLPRamK5?preview На русском: . . .
Полиглотные микросервисы на C# и .NET
ArchitectMsa 30.06.2025
Полиглотная архитектура появилась не из желания усложнить жизнь разработчикам. Она родилась из практической необходимости решать разные задачи наиболее эффективным способом. В одном из проектов. . .
Стратегии кеширования
Javaican 29.06.2025
Кеширование — это хранение часто запрашиваемых данных в быстром хранилище (обычно в памяти), чтобы не обращаться к более медленному первоисточнику. Казалось бы, все просто. Но за этой простотой. . .
Наблюдаемость приложений ASP.NET Core с OpenTelemetry, Prometheus и Grafana
ArchitectMsa 29.06.2025
Наблюдаемость (observability) – это ключевое свойство современной системы, позволяющее понимать её внутреннее состояние на основе внешних данных. Если мониторинг отвечает на вопрос "что случилось?",. . .
Четыре главных модели отношений классов в с++
russiannick 28.06.2025
Продолжаю крестовый поход против c++. ideone. com/ юзаю для проверки валидности кода. Насчитал 4 модели отношений классов: одиночный класс, равноправные классы, слейв - мастер, терминатор. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »