Jacek Kozłowski

Jacek Kozłowski 华沙理工大学

Temat: Suma z podzapytania

Dobry Wieczór,
Przede wszystkim witam wszystkich z racji pierwszego wpisu w tej grupie.

Mam problem z sumowaniem wartości będącej wynikiem zapytania opartego o dwie tabele.
Potrzebuję policzyć średnią ważoną przychodu dla poszczególnych ID, które występuje w każdej tabeli 1x dziennie każde, jako suma ilości w tabeli 1 i wartości w tabeli 2 i tak dla ostatnich 365 dni.

Tabela 1
ID; Ilość; Data
1;100;20180426
1;120;20180427
2;1200;20180426
2;1220;20180427

Tabela 2
ID; Wartość; Data
1;11;20180426
1;11;20180427
2;22;20180426
2;22;20180427

i jako wynik kwerendy mam w tej chwili (dalej się zaciąłem niestety)

Tabela 3
ID, Ilość, Wartość, Przychod=Ilość*Wartość;Data
1;100;11;11*100;20180426
1;120;11;11*120;20180427
2;1200;22;1200*22;20180426
2;1220;22;1220*22;20180427
i chciałem sumować po kolumnie Ilość*Wartość ale nie tędy chyba droga.

A potrzebuję uzupełnić o średnią ważoną dla ID
Tabela 3_1

ID, Ilość, Wartość, suma(ilość*wartość)/suma(ilość); Data
1;100;11;11*100;((11*100)+(11*120))/(100+120);20180426
1;120;11;11*120;((11*100)+(11*120))/(100+120);20180427
2;1200;22;1200*22;((22*1200)+(22*1220))/(1200+1220);20180426
2;1220;22;1220*22;((22*1200)+(22*1220))/(1200+1220);20180427

Moglibyście podrzucić pomysł jak się za to zabrać ?
Nie musi być od razu ryba (wystarczy wędka)
Z góry dziękuję.
Pozdrawiam
Robert Chmielewski

Robert Chmielewski Senior SQL
Developer, Sagra
Technology sp. z
o.o.

Temat: Suma z podzapytania

select t1.ID
,t1.Ilosc
,t2.Wartosc
,SUM(t1.Ilosc*t2.Wartosc) OVER (Partition BY t1.ID ORDER BY t1.Data)
/SUM(t2.Wartosc) OVER (Partition BY t1.ID ORDER BYt1.Data )
,t1.Data
FROM Tabela_1 t2 INNER JOIN Tabela_2 as t2
ON t1.ID=t2.ID AND t1.Data=t2.DataTen post został edytowany przez Autora dnia 25.01.19 o godzinie 14:49

Następna dyskusja:

ssrs, suma dla wartosci




Wyślij zaproszenie do