Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie, wybranie rekordow
Forum PHP.pl > Forum > Bazy danych > MySQL
ewel
mam nastepujace pola w tabeli 'platnosci':

nameShort(varchar),
date(date),
amount(double)

chcialabym wyswietlic wyniki w taki sposob:
- w kolumnach poszczegolne miesiace 1 roku (od 1 do 12),
- w wierszach poszczegolni odbiorcy(np nameShort1, nameShort2, nameShort3...),
- na przecieciu - 'amount' odpowiadajace poszczegolnym odbiorcom i miesiacom, ale jesli w danym miesiacu dany odbiorca mial 2 rozne amount to pojawia sie suma amount z danego miesiaca dla danego odbiorcy.

probowalam cos takiego:(przyklad dla 1 miesiaca, np stycznia)
  1. SELECT nameShort, IF(month(date)=2, sum(amount),0) AS '1' FROM `platnosci` WHERE login='test@wp.pl' GROUP BY nameShort

ale wowczas sumuje wartosci ze wszystkich miesiecy...


z gory bardzo dziekuje za kazda podpowiedz
Indeo
Też kiedyś popełniałem ten błąd - sumować musisz wynik ifa - nie odwrotnie:

  1. SELECT nameShort,
  2. sum(IF(month(date)=1,amount,0)) AS 'styczen',
  3. sum(IF(month(date)=2,amount,0)) AS 'luty'
  4. sum(IF(month(date)=3,amount,0)) AS 'marzec'
  5. FROM platnosci WHERE login='test@wp.pl' GROUP BY nameShort
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.