|
Помогите с запросом, не могу получить ссылку на максимальное значение | ☑ | ||
---|---|---|---|---|
0
Александр Игоревич
13.08.14
✎
11:57
|
Есть талица
Номенклатура|Дата|Работа Есть Справочник ГФ_ГруппыАвтотранспортаМатериалы и в табличной части его есть таблица Номенклатура|Вместимость я хочу получить итоговую таблицу Номенклатура|Дата|Работа|Вместимость(максимальная)|СсылнаНаСпрГФ_ГруппыАвтотранспортаМатериалы для этого я строю запрос, как указал выше, но лучшее что я получаю это Номенклатура|Дата|Работа|Вместимость(максимальная) Если в запрос добавлю поле ссылка на спр. то я получу несколько значенией Номенклатура|Дата|Работа|Вместимость(не максимальное)|СсылнаНаСпрГФ_ГруппыАвтотранспортаМатериалы Номенклатура|Дата|Работа|Вместимость(максимальная)|СсылнаНаСпрГФ_ГруппыАвтотранспортаМатериалы Вот мой запрос: [CODE] ВЫБРАТЬ МатериалыВрем.ДатаНач, МатериалыВрем.Работа, МатериалыВрем.Количество, МатериалыВрем.Номенклатура КАК Номенклатура, МАКСИМУМ(ГФ_ГруппыАвтотранспортаМатериалы.Вместимость) КАК Вместимость, ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ГФ_ГруппыАвтотранспорта.Материалы КАК ГФ_ГруппыАвтотранспортаМатериалы ПО (ГФ_ГруппыАвтотранспортаМатериалы.Номенклатура = МатериалыВрем.Номенклатура) СГРУППИРОВАТЬ ПО МатериалыВрем.ДатаНач, МатериалыВрем.Работа, МатериалыВрем.Количество, МатериалыВрем.Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура [/CODE] |
|||
1
Chum
13.08.14
✎
12:07
|
с учетом моих слабых познаний порекомендую позапрос к таблице вместимостей, которую сортируть по убываю и вытаскивать из нее Top 1.
|
|||
2
Ymryn
13.08.14
✎
12:12
|
(0) как кривой вариант могу предложить следующее
(Выбрать ТаблицаВместимости.Номенклатура, ТаблицаВместимости.Вместимость, ТаблицаВместимости.Ссылка как СпрГФ Поместить ТаблицаДляОбработки ИЗ ... Внутреннее СОЕДИНЕНИЕ Справочник.ГФ_ГруппыАвтотранспорта.Материалы КАК ТаблицаВместимости ПО (ТаблицаВместимости.Номенклатура = МатериалыВрем.Номенклатура) ; //////////////////////////////////////////////////// Выбрать ТаблицаМаксимума.Номенклатура, ТаблицаМаксимума.Вместимость, Максимум(ТаблицаДляОбработки.СпрГФ) как СпрГФ Поместить СпрГФПоНоменклатуре Из (Выбрать ТаблицаДляОбработки.Номенклатура, Максимум(ТаблицаДляОбработки.Вместимость) как Вместимость ИЗ ТаблицаДляОбработки как ТаблицаДляОбработки Сгруппировать ПО ТаблицаДляОбработки.Номенклатура) как ТаблицаМаксимума ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДляОбработки как ТаблицаДляОбработки ПО ТаблицаМаксимума.Номенклатура = ТаблицаДляОбработки.Номенклатура И ТаблицаМаксимума.Вместимость = ТаблицаДляОбработки.Вместимость Сгруппировать ПО ТаблицаМаксимума.Номенклатура, ТаблицаМаксимума.Вместимость ; //////////////////////////////////////////////////////////// и уже эту таблицу присоединять к финальному запросу левым и можно будет обойтись без группировки Возможно есть более красивое решение, но я не смог его придумать. |
|||
3
Ненавижу 1С
гуру
13.08.14
✎
12:14
|
я бы рекомендовал перепроектировать структуру таблиц
|
|||
4
User_Agronom
13.08.14
✎
12:17
|
Я вчера подобное делал.
Выборка из регистра сведений Всё просто: во временной таблице сформируй максимальную вместимость. И соединением её к основной. |
|||
5
Александр Игоревич
13.08.14
✎
12:34
|
(4) Спасибо, так и сделаю, но как вы думаете это наиболее быстрое решение?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |