05. december 2001 - 11:37Der er
12 kommentarer og 1 løsning
Kan ikke få count til at virke
Jeg har lidt problemer med count, hvordan for jeg dether til at virke? SELECT k_forum.*, count(k_post.pid) as cnt from kod_forum as k_forum, kod_forumpost as k_post where k_forum.id=k_post.pid
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
både og select f.id, f.forumnavn, f.beskrivelse , count(p.pid) as antal from kod_forum f, kod_forumpost p where f.id = p.pid group by f.id, f.forumnavn, f.beskrivelse
Det ser sådan ud nu og det virker næsten som det skal, men hvis der er en linje i kod_forum hvis id ikke passer til en pid i kod_forumpost (f.id = p.pid) kommer der ikke noget ud for dem. Fik du den?
Så skal du bruge outer join, som jeg ikke rigtig ved hvordan man laver i MySQL, men prøv evt. at se her:
tabel1 INNER JOIN tabel2 on <betingelse> fjerner en sammenkobling, hvis betingelsen ikke er opfyldt. Det betyder at rækken i tabel1 ikke kommer med i det endelige resultat
tabel1 LEFT JOIN tabel2 on <betingelse> beholder rækken fra tabel1, selvom betingelsen ikke er opfyldt. Alle felter udtrukket fra tabel2 udfyldes med NULL værdier.
tabel1 RIGHT JOIN tabel2 on <betingelse> fungerer som LEFT JOIN, blot er det tabel2, som er den betydende tabel (altså den der beholdes, mens felterne i tabel1 udfyldes med NULL)
select kod_forum.id, kod_forum.forumnavn, kod_forum.beskrivelse , count(kod_forumpost.pid) as antal from (kod_forum LEFT JOIN kod_forumpost ON kod_forum.id = kod_forumpost.pid) group by kod_forum.id, kod_forum.forumnavn, kod_forum.beskrivelse
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.