Witam,
Mam tabele:
id data kwota waluta komentarz
1 | 2018-07-11 | 30 | PLN | AAA
2 | 2018-07-12 | 40 | PLN | BBB
3 | 2018-07-13 | 20 | PLN | CCC
4 | 2018-07-14 | 10 | PLN | DDD
5 | 2018-07-15 | 15 | PLN | EEE
Zapytaniem :
SELECT t.id, t.DATA, t.kwota, t.waluta, t.komentarz, @running_total := @running_total + t.kwota AS stan_kasy FROM kasa t JOIN (SELECT @running_total := 0) r WHERE t.waluta="PLN" ORDER BY t.id ASC;
SELECT t.id, t.DATA, t.kwota, t.waluta, t.komentarz, @running_total := @running_total + t.kwota AS stan_kasy FROM kasa t JOIN (SELECT @running_total := 0) r WHERE t.waluta='PLN' AND t.DATA BETWEEN '2018-07-13' AND '2018-07-14' ORDER BY t.id ASC;
Może tak:
SELECT suma rekordów przed datą z początku zakresu, a wartość kolumny data ustawiona na sztywno jako data z początku zakresu
UNION ALL
SELECT rekordy z zakresu
UNION ALL
SELECT suma rekordów po dacie z końca zakresu, a wartość kolumny data ustawiona na sztywno jako data z końca zakresu (lub inaczej, nie określiłeś co z rekordami po dacie końca)
a cały powyższy UNION jako podzapytanie, na którym dopiero uruchamiasz running sum.
rekordy po dacie konca nie sa wazne, poprostu powinny byc anulowane/pominiete. Jezeli jest możliwośc mogę prosić o przykładowe zapytanie jak powinno wygladac według twoich wskazówek ?
SELECT tmp.DATA, tmp.kwota, tmp.waluta, tmp.komentarz, @running_total := @running_total + tmp.kwota AS stan_kasy FROM( SELECT '2018-07-13' AS DATA, SUM(t.kwota) AS kwota, 'PLN' AS waluta,'' AS komentarz FROM kasa AS t WHERE t.data<'2018-07-13' AND t.waluta='PLN' UNION ALL SELECT t.DATA, t.kwota, t.waluta, t.komentarz FROM kasa AS t WHERE t.waluta='PLN' AND t.DATA BETWEEN '2018-07-13' AND '2018-07-14' ) AS tmp, (SELECT @running_total := 0) AS rs ORDER BY tmp.DATA;
To rozwiązanie działa b.dobrze
Serdecznie dziękuję za pomoc.
Buy Generic Plavix In Us http://rxasian.com Risks Of Propecia Online Prescription Xenical Fat Blocker
Viagra Y Esteroides Dangers With Expired Cephalexin Discount isotretinoin http://viaacost.com Buy Plavix
Buy Prescription Viagra Online Suche Viagra Ch Aleve http://purchasecial.com Northwestern Canada Drugs
Free Amoxicillin Canadian Health Mall http://catabs.com Viagra Kamagra Erfahrung Pastillas Cytotec Donde Las Venden Finasterid 5mg Rezeptfrei Kaufen
Discount Plavix Coupons Prednisolone Nextday http://drugs2k.net Order Orlistat Online
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)