Stefan Bruhn <news003@3x7.dk> writes:
> <?
> $res = query("SELECT COUNT(3x7_lyrics.id) AS lyr, COUNT(3x7_artists.id) AS art,COUNT(3x7_albums.id) AS alb FROM 3x7_lyrics,3x7_artists,3x7_albums") or die(error(__LINE__,__FILE__));
> $count = fetch_array($res);
>
> echo "<p>$count[art] - $count[alb] - $count[lyr]</p>";
> ?>
>
> Ovenstående outputter følgende:
> 4029900 - 4029900 - 4029900
>
> Det *burde* outputte dette:
> 38 - 101 - 1050
Næh. Du tæller over et resultatsæt, ikke over de enkelte tabeller.
Når du joiner tre tabeller med henholdsvis 38, 101 og 1050 rows uden
restriktioner indeholder resultatet jo 38*101*1050=4029900 rows (som du
så tæller tre gange).
4029900 - 4029900 - 4029900 er det rigtige resultat på din forespørgsel.
> Dette her virker, men det virker lidt dumt at have tre connections:
[kode]
Det er den korrekte måde at gøre det på.
Desuden, tre forespørgsler er ikke lig tre connections, du har kun en
connection.
--
Finn Nielsen -
http://www.zznyyd.dk/