Hej Leif,
det er en klassiker, du har fat i... ;)
SQL bygger jo på mængdelære, og hvis der ikke findes nogen data, så kommer
der ingen rækker ud af det... Når du alligevel roder med PHP vil jeg tro at
det nemmeste er at lave et associativt array, hvori du på forhånd
initialiserer alle relevante datoers resultatværdi til 0, hvorefter du
opdaterer med resultaterne af din select.
vh. Jørgen
"leifnel" <leifnel.news@kandu.dk> wrote in message
news:kiCC8.2717$ek6.84855@news010.worldonline.dk...
> (MySql)
> Jeg har en tabel med ting med en dato på. Lad os kalde den FOLK, feltet
> FDAG
> Nu laver jeg "select FDAG,count(NAVN) from FOLK where FDAG between
> '2002-04-01' and '2002-04-05' group by 1"
> Resultat:
> 2002-04-02 3
> 2002-04-05 1
>
> Men jeg ville gerne have alle datoer også dem med 0. Hvis man havde en
> tabel med alle datoer, ALLDATES kunne man lave
> "select DATO,count(NAVN) from ALLDATES left join FOLK on
> (ALLDATES.DATO=FOLK.FDAG) where DATO between '2002-04-01' and
> '2002-04-05'"
> og få
> 2002-04-01 0
> 2002-04-02 3
> 2002-04-03 0
> 2002-04-04 0
> 2002-04-05 1
>
> Kan man det?
> Eller må man i php lave noget med en løkke, der for $n=0 til
> $slutdato-$startdato laver en
> "select date_add($startdato, interval $n days)...
>
> Eller råt og brutalt lave en tabel med alle datoer i et vist interval?
>
> Leif
>
>
>
>
> --
> Leveret af:
>
http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>