Помогите с запросом. Можно ли решить задачу именно запросом
Всем привет!
Кто может подсказать, возможно ли решить задачу запросом.
Есть задача: Получить минимальный и максимальный Пробег Автомобиля (Клиента).
Есть документы типа Заказ-наряд в них записаны пробеги в поле Пробег., в них есть Контрагент.
Документов много , в каждом может быть разный пробег или может вовсе быть "0" или NULL.
Можно ли получить средствами запроса таблицу которая выдаст такое
Контрагент / Пробег минимальный / Пробег максимальный.
Документ не нужен в такой таблице - само собой :)
Я пробовал разные варианты, но не уверен что действую правильно.
p.s. не сильно большой опыт в построении сложных запросов
Кто может подсказать, возможно ли решить задачу запросом.
Есть задача: Получить минимальный и максимальный Пробег Автомобиля (Клиента).
Есть документы типа Заказ-наряд в них записаны пробеги в поле Пробег., в них есть Контрагент.
Документов много , в каждом может быть разный пробег или может вовсе быть "0" или NULL.
Можно ли получить средствами запроса таблицу которая выдаст такое
Контрагент / Пробег минимальный / Пробег максимальный.
Документ не нужен в такой таблице - само собой :)
Я пробовал разные варианты, но не уверен что действую правильно.
p.s. не сильно большой опыт в построении сложных запросов
По теме из базы знаний
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Разработка и сценарное тестирование с Vanessa-ADD. Собственные шаги и библиотеки. Экспортные сценарии
- Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах
- Гарри Поттер и подкапотное пространство веб-клиента
- Начните уже использовать хранилище запросов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9) спасибо, но уже сам усмел просто руками дописать это же в запросе. Но... пока жду формирования отчета уже несколько минут. Возможно не дождусь.
На самом деле вся сложность заключалась еще в одном условии:
я пытался сделать мегазапрос с использованием отбора по ТЧ документа
и это сильно усложняет вопрос
На самом деле вся сложность заключалась еще в одном условии:
я пытался сделать мегазапрос с использованием отбора по ТЧ документа
и это сильно усложняет вопрос
я думаю все еще проще
автору необходимо открыть конструктор запроса и сделать пару кликов, возможно у него сломана мышь и он не может открыть конструткор.
подозреваю, что пробег можно выбрать не из документа, а из движений документов
автору необходимо открыть конструктор запроса и сделать пару кликов, возможно у него сломана мышь и он не может открыть конструткор.
подозреваю, что пробег можно выбрать не из документа, а из движений документов
попробуйте такой вариант
Выбрать
Док.Контрагент,
Минимум(Док.Пробег) как ПробегМин,
Максимум(Док.Пробег) как ПробегМакс
Из
Документ ЗаказНаряд Док
Где
Не Док.ПометкаУдаления //какой-то отбор по документам, можно за период добавить
Сгруппировать по
Док.Контрагент
Упорядочить по
Док.Контрагент
Автоупорядочивание Показать
Выбрать
Док.Контрагент,
Минимум(Док.Пробег) как ПробегМин,
Максимум(Док.Пробег) как ПробегМакс
Из
Документ ЗаказНаряд Док
Где
Не Док.ПометкаУдаления //какой-то отбор по документам, можно за период добавить
Сгруппировать по
Док.Контрагент
Упорядочить по
Док.Контрагент
Автоупорядочивание
(11) спасибо . у меня тоже получилось очень похожее когда я упростил запрос до минимума. Этот вариант будет работать.
Но я немного неправильно изначально поставил вопрос: я вообще пытался отфильтровать ТЧ документа по условию а на выходе получить вот то, что вы написали :)
Кстати, с помощью Условия Пробег>0 можно исключить из Максимум (Док.Пробег) нулевые значения или по-другому?
Как бы нужно вообще исключить "0" если он есть
Но я немного неправильно изначально поставил вопрос: я вообще пытался отфильтровать ТЧ документа по условию а на выходе получить вот то, что вы написали :)
Кстати, с помощью Условия Пробег>0 можно исключить из Максимум (Док.Пробег) нулевые значения или по-другому?
Как бы нужно вообще исключить "0" если он есть
(19)а что "нулевые" пробеги в таком случае - становятся максимальными: это вы учли?
Подобный отбор с условием нужно делать во вложенном (предварительном) запросе (и передавать точно ненулевые данные дальше для анализа на мин и макс), либо городить сложный отбор (и то навряд ли такой получится).
Подобный отбор с условием нужно делать во вложенном (предварительном) запросе (и передавать точно ненулевые данные дальше для анализа на мин и макс), либо городить сложный отбор (и то навряд ли такой получится).
(11)
Весь цимус - это четко выделить нужные документы по конкретным условиям (авто, контрагент, период , etc), выбрать их, и уже среди этой выборки найти минимум и максимум по авто и контрагенту. А т.к. как обработки "окон" в 1Совых запросах нет и не предвидится (как в SQL), нужно много плясать со встроенными запросами и обработкой результата, причем исключительно на конкретных данных конкретной базы.
Минимум(Док.Пробег) как ПробегМин,
Максимум(Док.Пробег) как ПробегМакс
Из
Документ ЗаказНаряд Док
И получите минимум и максимум не по какому-то авто конкретному, а по всем документам.
Максимум(Док.Пробег) как ПробегМакс
Из
Документ ЗаказНаряд Док
Весь цимус - это четко выделить нужные документы по конкретным условиям (авто, контрагент, период , etc), выбрать их, и уже среди этой выборки найти минимум и максимум по авто и контрагенту. А т.к. как обработки "окон" в 1Совых запросах нет и не предвидится (как в SQL), нужно много плясать со встроенными запросами и обработкой результата, причем исключительно на конкретных данных конкретной базы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот