Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Помогите с запросом.

Помогите с запросом.
Я
   dancing_rabbit
 
15.08.19 - 06:12
Из серии я только учусь. Вопрос по запросу. Задача такая написать запрос, в который будет показывать первые 5 поставщиков самых дорогих товаров по ценам продажи номенклатурных позиций. Вложенных запросов ещё нет.
Так вот как вижу это я:
ВЫБРАТЬ ПЕРВЫЕ 5
    ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура1,
    РеализацияТоваровУслугТовары.Сумма КАК Сумма
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ПО (РеализацияТоваровУслугТовары.Номенклатура = ПоступлениеТоваровУслугТовары.Номенклатура)
ГДЕ
    НЕ РеализацияТоваровУслугТовары.Номенклатура ЕСТЬ NULL

УПОРЯДОЧИТЬ ПО
    Сумма

но видимо не так должно быть, первое вытаскиваются пустые позиции номенклатуры, хотя вроде как эо условие должно их убирать (НЕ РеализацияТоваровУслугТовары.Номенклатура ЕСТЬ NULL)
Направьте на верный путь, заранее спсб))
 
 
   catena
 
1 - 15.08.19 - 06:14
У правой таблицы не может быть NULL, NULL в принципе только слева появляется.
   vicof
 
2 - 15.08.19 - 06:28
(1) При правом соединении)
   Uzyf
 
3 - 15.08.19 - 06:29
Упорядочить наверное надо по убыванию
   Uzyf
 
4 - 15.08.19 - 06:32
И почему СУММА, если нужна цена
   catena
 
5 - 15.08.19 - 06:37
(2)Правых соединений не существует, это ложная религия.
   Uzyf
 
6 - 15.08.19 - 06:39
И группировать надо по контрагенту
   Uzyf
 
7 - 15.08.19 - 06:42
И при группировке ЦЕНУ не суммировать а выбирать максимум
   NUser
 
8 - 15.08.19 - 06:43
(0) Потому что нужно
 УПОРЯДОЧИТЬ ПО
    Сумма Убыв
   Uzyf
 
9 - 15.08.19 - 06:45
(8) не сумма а цена
   Uzyf
 
10 - 15.08.19 - 07:04
ВЫБРАТЬ ПЕРВЫЕ 5
    ПоступлениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент,
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    МАКСИМУМ(РеализацияТоваровУслугТовары.Цена) КАК Цена
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
        ПО (ПоступлениеТоваровУслугТовары.Номенклатура = РеализацияТоваровУслугТовары.Номенклатура)

СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
    РеализацияТоваровУслугТовары.Номенклатура

УПОРЯДОЧИТЬ ПО
    Цена УБЫВ
   Simod
 
11 - 15.08.19 - 08:19
(0) Стоит условие решения через документы? Регистров нет? Если у товара несколько поставщиков, решение неправильное.

Для начала реши задачу поиска 5-ти самых высоких цен. Потом ищи, как получить поставщика.
   Uzyf
 
12 - 15.08.19 - 08:25
(11) Почему неправильное то? Если несколько поставщиков, то просто выведет их всех с одинаковым товаром
   unbred
 
13 - 15.08.19 - 08:28
(11) там скорее всего будет одна номенклатура ,с самым высоким ценником и 5 контрагентов по ней.
   dancing_rabbit
 
14 - 15.08.19 - 08:48
(10) Спасибо)))
   vicof
 
15 - 15.08.19 - 09:19
(5) Почитай еще внимательно свое (1)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.