Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak się zapytać o takie coś?
Forum PHP.pl > Forum > Bazy danych > MySQL
Blackhole
Witajcie!

Mam tabelę zawierającą kolumny: id, cena, id kategorii, data; oraz tabelę z kategoriami zawierającą kolumny: id, kategoria, id nadkategorii (kategorie są strukturą drzewiastą o jednym poziomie zagłębienia).
Jakie zapytanie zwróciłoby mi sumę cen w danej kategorii pogrupowaną wg dni łącznie z sumą cen w wszystkich podkategoriach danej kategorii?

Pozdrawiam.

---------------------------

Podam przykład.

Załóżmy, że mam kategorię Komunikacja publiczna. Ma ona 2 podkategorie: Busy, tramwaje i Pociągi. Jednego dnia może się zdarzyć, że będę miał 3 wpisy w bazie w tej kategorii. Przykładowo: 15.5 PLN za pociąg i 2 rekordy za bilety na tramwaj.
Jak najłatwiej dowiedzieć się z MySQL, ile w danym dniu wydałem na pociągi, busy/tramwaje i ile łącznie wydałem na komunikację?
UDAT
Pisane z palca:
  1. id, cena, id kategorii, DATA -> tabela
  2. id, kategoria, id nadkategorii -> tabela2
  3.  
  4. SELECT SUM(cena)
  5. FROM tabela2 LEFT JOIN tabela
  6. ON tabela2.id=tabela.id_kategorii
  7. WHERE tabela2.id_nadkategorii=[id kategorii]
  8. GROUP BY kategoria
  9. WITH ROLLUP


A poza tym poczytaj o ROLLUP
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.