Avatar billede sth Novice
10. februar 2009 - 11:31 Der er 3 kommentarer og
1 løsning

Hælpl til SQL og DATE_FORMAT

jeg har en SQl streng jeg bruger til at udtrække slagsdata pr måned den virker som den var tænkt og dog for jeg ville geren ahve haft det sådan at hvis der ikke havde været salg i en måned så blev værdien sat til nul

Denne kode viser en sum pr vare pr måned hvor der har været salg

select DATE_FORMAT(vmi_part_date, '%M  %Y') as Maaned ,
DATE_FORMAT(vmi_part_date, '%m  %Y') as Maaned2,
sum(vmi_part_qty) as Antalfaktureret
from vmi_part_hist
where vmi_part_cust ='min_kunde'
and vmi_part_part ='min_vare '
group by DATE_FORMAT(vmi_part_date, '%Y%m')
order by DATE_FORMAT(vmi_part_date, '%Y%m')
LIMIT 12

dette vil jeg geren have ændret til at det bliver vist for de sidste 12 måneder og ikke som nu, de sidste 12 måneder hvor der har været salg

kan man det eller skal jeg ud i og lave noget kode der først vælger måned og år og så indsætte det i min sql eller kan man kome uden om det?
Avatar billede arne_v Ekspert
10. februar 2009 - 14:11 #1
Der er 2 oplagte muligheder:

1)  Lav en RIGHT JOIN med en tabel med alle maaneder.

2)  Lad din app kode udfylde hullerne og skippe de unoedvendige raekker.
Avatar billede sth Novice
10. februar 2009 - 15:22 #2
ja jeg tænkte nok at der ikke var nogen vej uden om, kommer du med et svar

mon ikke jeg kan brige en lykke der køre de sidste 12 måneder igennem og så indsæter dem efter hånden som jeg skal have dem vist i stedet for at  bruge LIMIT 12
Avatar billede arne_v Ekspert
11. februar 2009 - 03:21 #3
Jeg ville stadigvæk bruge LIMIT 12 fordi du ved at du maksimalt skal bruge 12 så der er ingen grund til at hente alle rækker.
Avatar billede arne_v Ekspert
11. februar 2009 - 03:21 #4
Og et svar.
Avatar billede Ny bruger Nybegynder

Din 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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester