Добрый день.
Есть оборотный регистр типа
Клиент, товар, ценаЗакупки
кво, сумма.
как отследить изменения цен между двумя датами при наличии оборотов одним запросом?
При этом цена может поменяться посреди дня и закупки всегда ведутся по одной цене (на текущий момент).
Пишу
Select
РОВ.КодПост [Товар:Справочник.ТМЦ],
СпрТМЦ.Code КодТовара,
Case Date When '20110101' Then ЦенаПост Else 0 End ЦенаПост1,
Case Date When '20110101' Then 0 Else ЦенаПост End ЦенаПост2,
РОВ.Поставщик [Пост:Справочник.Клиенты],
Sum(Case Date When '20110101' Then ПриходКво Else 0 End) ПриходКво1,
Sum(Case Date When '20110101' Then ПриходОсн Else 0 End) ПриходОсн1,
Sum(Case Date When '20110101' Then 0 Else ПриходКво End) ПриходКво2,
Sum(Case Date When '20110101' Then 0 Else ПриходОсн End) ПриходОсн2,
СпрТМЦ.Descr ТоварИмя,
Клиенты.Descr КлиентИмя
From
Регистр_Обороты РОВ
Left Join Справочник_Клиенты Клиенты On РОВ.Поставщик=Клиенты.ID
Left Join Справочник_ТМЦ СпрТМЦ On РОВ.КодПост=СпрТМЦ.ID
Where
(Date='20110101' Or Date='20110105')
And (РасходКво<>0 or РасходОсн<>0 or ПриходКво<>0 or ПриходОсн<>0)
Group by РОВ.КодПост, РОВ.Поставщик, ЦенаПост1, ЦенаПост2
Order by РОВ.КодПост, ЦенаПост1
выдаёт таблицу вида
Товар | Поставщик | Цена1 | Цена2 | Кво1 | Сумма1 | Кво2 | Сумма2 |
1 | Поставщик1 | 1 | 0 | 10 | 10 | 0 | 0 |
2 | Поставщик2 | 1 | 0 | 10 | 10 | 0 | 0 |
1 | Поставщик1 | 0 | 1 | 0 | 0 | 10 | 10 |
1 | Поставщик1 | 0 | 1.5 | 0 | 0 | 10 | 15 |
2 | Поставщик2 | 0 | 1.4 | 0 | 0 | 5 | 7 |
как получить таблицу вида
Товар | Поставщик | Цена1 | Цена2 | Кво1 | Сумма1 | Кво2 | Сумма2 |
1 | Поставщик1 | 1 | 1.5 | 10 | 10 | 20 | 25 (либо 10/15 или что угодно еще для случая изменения цены в течении дня) |
2 | Поставщик2 | 1 | 1.4 | 10 | 10 | 5 | 7 |
?