Autor Zpráva
jarks
Profil
Dobrý den,

mám tabulku faktury, kde je
  
  id (klíč)
  odberatel (cizí klíč do tabulky odberatele)
  castka 
  splatnost (datum)


a potřebuji dostat přehled odběratelů s dlužnými částkami podle skupin splatnosti.
Mělo by to vypadat takto:
-------------------------------------------------
odběratel | do 30 dnů | do 60 dnů | nad 60 dnů  |
=================================================
Vomáčka  |     1000 Kč|    5000 Kč|       900 Kč|
-------------------------------------------------
Novák    |     3000 Kč|       0 Kč|      1000 Kč|
-------------------------------------------------

Ty skupiny by se snad daly sčítat nějak jako
SELECT
odberatel,
SUM(CASE WHEN DATEDIFF(CURDATE(), splatnost)<30 THEN castka ELSE 0 END) AS "dotriceti"
FROM 
(
SELECT * FROM faktury
)

ale nevím jak zařídit, abych dostal skupiny za jednotlivé odběratele, prostě takto:
odberatel, dotriceti, dosedesati, nadsedesat


Věděl by prosím někdo?
Kajman_
Profil *
SELECT
odberatel,
SUM(CASE WHEN DATEDIFF(CURDATE(), splatnost)<30 THEN castka ELSE 0 END) AS "dotriceti",
SUM(CASE WHEN DATEDIFF(CURDATE(), splatnost)>=30 and DATEDIFF(CURDATE(), splatnost)<60 THEN castka ELSE 0 END) AS "dosedesati",
SUM(CASE WHEN DATEDIFF(CURDATE(), splatnost)>=60 THEN castka ELSE 0 END) AS "nadsedesat"
jarks
Profil
Díky. Tohle mi ale sečte skupiny za všechny faktury. Nikoliv podle odběratelů. To je právě ten problém.
Kajman_
Profil *
..."nadsedesat"
from faktury
group by odberatel
jarks
Profil
Tak jednoduše a já na to nemohl přijít a chytračil jsem s poddotazy a tak. Moc díky.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0