Имя: Пароль:
1C
1С v8
Запрос : последний на дату
0 Илья_Юный _2016
 
26.03.16
20:00
Привет! помогите написать запрос :
Дата                    поставщик      товар
01.07.2014 12:32:00     поставщик1     куртка
01.07.2014 13:05:00     поставщик1     ботинки
01.07.2014 15:00:00     поставщик2     платье
02.07.2014 12:00:00     поставщик3     юбка
02.07.2014 15:00:00     поставщик2     брюки
надо получить таблицу
01.07.2014 15:00:00     поставщик2     платье
02.07.2014 15:00:00     поставщик2     брюки

вывести таблицу, в которой указаны в строках день и последний поставщик за этот день и не отображать дни, в которых не было поставки
1 Записьдампа
 
26.03.16
20:18
- Что делать со строками с одинаковым временем, разным поставщиком и разными товаром?
- Что делать со строками с одинаковым временем, одинаковым поставщиком и разным товаром?
- Что делать со строками с одинаковым временем, одинаковым поставщиком и одинаковым товаром?
2 Илья_Юный _2016
 
26.03.16
20:33
ошибся  : надо просто по дате и поставщику
3 Илья_Юный _2016
 
26.03.16
20:33
товар не надо выводить
4 Записьдампа
 
26.03.16
20:35
- Что делать со строками с одинаковым временем, разным поставщиком и пофиг каким товаром? Выводить обоих или любого?
5 Илья_Юный _2016
 
26.03.16
20:36
думаю, любого
6 Записьдампа
 
26.03.16
20:48
ВЫБРАТЬ
    Данные.Дата      КАК Дата,
    Данные.Поставщик КАК Поставщик
    
ИЗ(
    ВЫБРАТЬ
        НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ) КАК НачалоДня
        МАКСИМУМ(Т.Дата)            КАК Дата
    ИЗ
        ТвояТаблица КАК Т
    СГРУППИРОВАТЬ ПО
        НАЧАЛОПЕРИОДА(Т.Дата, ДЕНЬ)
) КАК ПоследниеДаты

ВНУТРЕННЕЕ  СОЕДИНЕНИЕ
    ТвояТаблица КАК Данные
ПО    
    (Данные.Дата, Данные.Поставщик) В (
        ВЫБРАТЬ ПЕРВЫЕ 1
            Т.Дата      КАК Дата,
            Т.Поставщик КАК Поставщик
        ИЗ
            ТвояТаблица.Т
        ГДЕ
            ПоследниеДаты.Дата = ПоследниеДаты.Дата
    )


Не проверял
7 Записьдампа
 
26.03.16
20:50
Вернее

...
ВНУТРЕННЕЕ  СОЕДИНЕНИЕ
    ТвояТаблица КАК Данные
ПО    
    (Данные.Дата, Данные.Поставщик, Данные.Товар) В (
        ВЫБРАТЬ ПЕРВЫЕ 1
            Т.Дата      КАК Дата,
            Т.Поставщик КАК Поставщик,
            Т.Товар     КАК Товар
        ИЗ
            ТвояТаблица.Т
        ГДЕ
            ПоследниеДаты.Дата = ПоследниеДаты.Дата
    )
8 Записьдампа
 
26.03.16
20:50
УПОРЯДОЧИТЬ внутри условия - по вкусу
9 Записьдампа
 
26.03.16
20:51
Блд... =)

...

ГДЕ
            Т.Дата = ПоследниеДаты.Дата
10 Илья_Юный _2016
 
26.03.16
21:03
пусто
11 Записьдампа
 
26.03.16
21:04
(10) Ну извини, я сделал все что мог
12 Записьдампа
 
26.03.16
21:05
Ты ж ведь только помощи хотел, а не чтобы за тебя все написали, правда?
13 Илья_Юный _2016
 
26.03.16
21:09
да,
14 Илья_Юный _2016
 
26.03.16
21:18
я сам застрял в нем
15 Илья_Юный _2016
 
26.03.16
22:09
вроде норм, спасибо