[SQL] Suma z pięciu ostatnich dostępnych w bazie dni

0

Ok, dzięki za rozwiązanie, właśnie próbuję :)
Ale niestety widzę, że źle numeruje mi "lp" i próbuję rozwiązać dlaczego (jestem przy v_daty).

Bo powinno byś tak, że dla najnowszej daty mam zawsze 0, dla d-1 mam 1, itd...a on mi chyba wszystkie rekordy policzył.

0

Co to znaczy "źle mi numeruje"? Numeruje "daty" względem "typ" od 0...

0

Jeżeli zależy mi na tym, aby nie liczył dni względem typu to powinienem z WHERE usunąć typ=d.typ, prawda? Chciałbym, żeby to było po dacie, aby było tak, że nawet jak w którymś dniu dana grupa/typ nie wystąpiła - była sumowana (do 0).

Mam jakiś problem wydajnościowy - przy większej ilości danych klęka na czymś. Jak chcę stworzyć tabelę to Access pokazuje:
"Odwołanie cykliczne spowodowane przez alias 'grupa' na liście SELECT definicji kwerendy."

0

co do pierwszego to TAK.
Co do drugiego, to... cóż zapytanie jest BARDZO niewydajne - ale inaczej w Excel/Access nie można - brak funkcji analitycznych. możnma to częściowo rozwiązać (na chwilę) robiąc widok zmaterializowany, czyli zrzucajać wyniki view do tabeli . I potem korzystać z tej tabeli. Dopóki dane się nie zmienią.
A to odwołanie cykliczne, to ... musiałbym popatrzeć, ale to dopiero wieczorem.

0
Marcin.Miga napisał(a):

co do pierwszego to TAK.
Co do drugiego, to... cóż zapytanie jest BARDZO niewydajne - ale inaczej w Excel/Access nie można - brak funkcji analitycznych. możnma to częściowo rozwiązać (na chwilę) robiąc widok zmaterializowany, czyli zrzucajać wyniki view do tabeli . I potem korzystać z tej tabeli. Dopóki dane się nie zmienią.
A to odwołanie cykliczne, to ... musiałbym popatrzeć, ale to dopiero wieczorem.

Właśnie chcę tak zrobić, tj. wrzucić wynik do tabeli - wykorzystując SELECT * INTO ...

Ale nie mogę, bo dostaję ten błąd.

Zapytanie obecnie mam takie (dot. v_daty):

INSERT INTO ROBO_2

select grupa, data, kwota, (select count(data) from (select distinct grupa, data from (SELECT data, grupa, sum(ilosc*cena) as kwota FROM SPR GROUP BY data, grupa)) spr1 
where data<s.data) as lp 

from (SELECT data, grupa, sum(ilosc*cena) as kwota FROM SPR GROUP BY data, grupa) s;
0

To rozwiązanie jest ok, ale jednak nie dla Accessa.
Nie udźwignie tego, niestety :(
Zatrzymał się na utworzeniu tabelki v_daty i po 15 minutach zrezygnowałem i wyłączyłem..

1

Instal postgreSQL, kopia, obliczenia (już mogą być wtedy analityczne - funkcje "window"), i z powrotem do Accessa

0

Ok, dziękuję wszystkim za pomoc, szczególnie Marcinowi!

1 użytkowników online, w tym zalogowanych: 0, gości: 1