Witam
Próbuje napisać zestawienie które zaproponuje ile towaru z danej grupy towarowej zamówić, a wyliczy to na podstawie średniej dziennej sprzedaży (na FV) w podanym okresie pomnożonym przez podana wartość.
W SQL Server Management Studio napisałem coś takiego:
SELECT
ob_TowId AS 'ID TOWARU',
tw_nazwa AS 'NAZWA TOWARU',
SUM(ob_Ilosc)/DATEDIFF(day, '2012-10-29 00:00:00.000','2012-10-31 00:00:00.000') AS 'ŚREDNIA DZIENNA SPRZEDAŻ',
SUM(ob_Ilosc)/DATEDIFF(day, '2012-10-29 00:00:00.000','2012-10-31 00:00:00.000')*7 AS 'PROPONOWANE ZAMÓWIENIE'
FROM dok_Pozycja
JOIN dok__dokument ON ob_dokhanid=dok_id
JOIN tw__towar On ob_towid=tw_Id
WHERE
tw_IdGrupa=3
AND
ob_dokhanid IN (select dok_id from dok__Dokument where dok_DataMag BETWEEN '2012-10-29 00:00:00.000' and '2012-10-31 00:00:00.000')
AND
dok_typ=2
GROUP BY tw_Nazwa,ob_towid
ORDER BY tw_nazwa
Tutaj jest ok, poprawnie liczy średnią dzienną sprzedaż dla towarów z grupy od ID=3 w okresie od 2012-10-29 do 2012-10-31 i mnoży to przez 7.
Problem pojawił się przy przenoszeniu tego do Subiekta i próbie stworzenia kontrolek.
Doszedłem to tego momentu :
SELECT
ob_TowId AS 'ID TOWARU',
tw_nazwa AS 'NAZWA TOWARU',
sum(ob_Ilosc)/DATEDIFF(day, '2012-10-29 00:00:00.000','2012-10-31 00:00:00.000') AS 'ŚREDNIA DZIENNA SPRZEDAŻ',
sum(ob_Ilosc)/DATEDIFF(day, '2012-10-29 00:00:00.000','2012-10-31 00:00:00.000')*7 AS 'PROPONOWANE ZAMÓWIENIE'
FROM dok_Pozycja
JOIN dok__dokument ON ob_dokhanid=dok_id
JOIN tw__towar On ob_towid=tw_Id
WHERE
tw_IdGrupa={DB: SELECT GRT_ID,GRT_NAZWA AS GRUPA FROM sl_GrupaTw ORDER BY GRUPA:Grupa Towarowa}
AND
ob_dokhanid IN (select dok_id from dok__Dokument where dok_DataMag BETWEEN {DR:Okres:GETDATE():GETDATE()})
AND
DOK_TYP=2
GROUP BY tw_nazwa,ob_towid
ORDER BY tw_nazwa
Nie wiem co wstawić zamiast DATEDIFF(day, '2012-10-29 00:00:00.000','2012-10-31 00:00:00.000') AS 'ŚREDNIA DZIENNA SPRZEDAŻ', aby policzyło średnią sprzedaż z okresu podanego w kontrolce {DR:Okres:GETDATE():GETDATE()}.
Możecie mi coś podpowiedzieć jak to zrobić ?
Pozdrawiam.