Имя: Пароль:
1C
1С v8
Запрос к внутренней таблице с лимитом строк
0 Ilqarupup
 
11.03.15
15:36
Добрый день! Такой вопрос:

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

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

хотелось бы узнать, как можно ставить условие во вложенном запросе по полю из внешней таблицы.
1 crotnn
 
11.03.15
15:43
Группируй заказы покупателя в запросе по контрагенту и МИНИМУМ(ЗаказПокупателя.ДатаЗаказа)
2 Ёпрст
 
11.03.15
15:44
найди для начала, максимум по дате при группировке клиентос, потом соедини это с табличкой документов.. поимеешь нужно
3 Ёпрст
 
11.03.15
15:44
точнее, минимум
4 Ilqarupup
 
11.03.15
16:21
Сделал так, вроде работает:

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