18. september 2009 - 11:42Der er
6 kommentarer og 1 løsning
Måneder uden data vises ikke
Jeg har en query, som laver en masse beregninger og grupperinger på indgående ordre over de forskellige måneder. Mit problem er at, hvis der ikke findes en ordre i en bestemt måned, som kommer den ikke med i outputtet.
Et eller andet sted, er det jo klart nok, men kan queryen eventuelt tilpasses, så den bare viser 0 ved de månederne der ikke har nogle ordrer?
SELECT month( r572a ) AS maaned, count( * ) AS antal, sum( r504 ) AS ordresum, sum( r477a ) AS staalpris, sum( r477 ) AS tonnage, avg( r509 ) AS krkg, sum( r503 ) AS fortjeneste, avg( r502 ) AS db, 'test' AS antalTilbud, 'test' AS tilbudssum, 'test' AS tilbudstonnage, 'test' AS budget, 'test' AS budgetafv FROM (SELECT ordre, MAX( rev ) AS rev FROM ordre GROUP BY ordre) AS o,ordre, ordre0, ordre4, ordre5 LEFT JOIN kunde ON kunde_hidden = kunde.id WHERE o.ordre = ordre.ordre && o.rev = ordre.rev && ordre.id = ordre0.tilbudsnummer && ordre0.tilbudsnummer = ordre4.tilbudsnummer && ordre4.tilbudsnummer = ordre5.tilbudsnummer && r572a >= '2008-07-01' && r572a < '2009-07-01' && ( ordre5.r534b !=1 || ordre5.r534b IS NULL ) && r534a != 1 && land = 'S' GROUP BY maaned ORDER BY maaned
Hmm, nu jeg kommer til at kigge nærmere på det, så er det ikke den bedste løsning. Mit problem er at jeg ikke har en månedstabel.
Datoerne ligger som date felter på hver enkelt ordre, og når der ingen ordre er i en bestemt måned, kan jeg jo heller ikke trække månederne ud og herefter joine.
Jeg kunne selvfølgelig oprette en tabel kun med månederne i, men det synes jeg ikke lige frem er den mest elegante løsning.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.