Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 06:47

Максимальные данные в запросе

Автор tema111, 06 мая 2012, 00:08

0 Пользователей и 1 гость просматривают эту тему.

tema111

Хочу чтоб из Оборотов выводился тот товар, которого было продано самое большое количество

пишу такой запрос

ВЫБРАТЬ
   МАКСИМУМ(ТоварыНаСкладахОбороты.КоличествоРасход) КАК КоличествоРасход,
   ТоварыНаСкладахОбороты.Номенклатура
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Обороты КАК ТоварыНаСкладахОбороты

СГРУППИРОВАТЬ ПО
   ТоварыНаСкладахОбороты.Номенклатура

он мне выводит все товары с их количеством=((

DirecTwiX

Выбирай все товары и сортируй по количеству. При обходе бери только первый элемент.
Либо делай внутреннее соединение по количеству.

tema111

можешь на примере кода показать?

DirecTwiX

ЦитироватьВЫБРАТЬ
   РасходнаяНакладнаяТовары.Номенклатура,
   РасходнаяНакладнаяТовары.Сумма
ИЗ
   Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
         МАКСИМУМ(РасходнаяНакладнаяТовары.Сумма) КАК Сумма
      ИЗ
         Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары) КАК ВложенныйЗапрос
      ПО РасходнаяНакладнаяТовары.Сумма = ВложенныйЗапрос.Сумма

tema111

походу я туплю, но ничего не выходит=(

ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Ссылка,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты
   внутреннее соединение (ВЫБРАТЬ
         МАКСИМУМ(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК Сумма
      ИЗ
         РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты) КАК ВложенныйЗапрос
      ПО ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход = ВложенныйЗапрос.Сумма

Dethmontt

SELECT TOP 1
   ТоварыНаСкладахОбороты.Номенклатура,
   ТоварыНаСкладахОбороты.КоличествоРасход КАК КоличествоРасход
ИЗ
   РегистрНакопления.ТоварыНаСкладахОбороты.ОстаткиИОбороты КАК ТоварыНаСкладахОбороты

УПОРЯДОЧИТЬ ПО
   КоличествоРасход УБЫВ
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

tema111

ну а если у меня два товара или три с одинаковым количеством? не буду же я запрос менять

DirecTwiX

ВЫБРАТЬ
   ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Ссылка,
   ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход
ИЗ
   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты
   внутреннее соединение (ВЫБРАТЬ
         КОЛИЧЕСТВО(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Ссылка) КАК Кол,
         МАКСИМУМ(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК Сумма
      ИЗ
         РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты КАК ТоварыНаСкладахОстаткиИОбороты) КАК ВложенныйЗапрос
      ПО ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход = ВложенныйЗапрос.Сумма

cska-fanat-kz

2 DirecTwiX,

да и до этого Ваш вариант был в принципе правильный...
Что именно там было не так - один Автор знает...
Зачем было добавлять подсчет количества номенклатуры?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

DirecTwiX

Цитата: cska-fanat-kz от 07 мая 2012, 13:15
2 DirecTwiX,

да и до этого Ваш вариант был в принципе правильный...
Что именно там было не так - один Автор знает...
Зачем было добавлять подсчет количества номенклатуры?
Он же остатки получает по регистру. Т.е. если не выбирать Номенклатуру, то запрос вернёт общее число остатков:
А - 100
Б - 150
В результате запроса без номенклатуры будет 250)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск