TheClown Skrevet 7. juli 2009 Del Skrevet 7. juli 2009 Hei folk og dyr. Først og fremst, beklager tittelen, vansklig å beskrive problemet mitt. Anyways, greia er at jeg har et table med kategorier og et med linker. Jeg vil få ut MySQL spørringen etter hvor mange linker som er i de forskjellige kategoriene. Spørringen jeg har under funker kjempefint, men spørringen viser ikke kategorier hvor det er 0 linker i den. Oppbygging av database under. SELECT t1.*, COUNT(t2.link_id) as 'Total' FROM pub_kategori t1, pub_link t2 WHERE t1.kategori_id = t2.link_kategori GROUP BY t1.kategori_id pub_kategori kategori_id | kategori_navn 1 | kategori 1 2 | kategori 2 3 | kategori 3 pub_link link_id | link_kategori | link_navn 1 | 1 | link 1 2 | 1 | link 2 3 | 1 | link 3 4 | 2 | link 4 5 | 2 | link 5 I dette tilfellet gir MySQL spørringen min ut at Kategori 1 har 3 linker i seg, kategori 2 har 2 og kategori 3 blir ikke vist i det heletatt. Noen som veit åssen jeg kan løse dette? Relativt ulært i MySQL så jeg klarer nok ikke å løse denne på egenhånd. All hjelp mottas med et stort takk og <3 - Thomas Lenke til kommentar
blackbrrd Skrevet 7. juli 2009 Del Skrevet 7. juli 2009 Du må bruke LEFT JOIN istedetfor den eldgamle måten å joine på som du prøver deg på. Lenke til kommentar
TheClown Skrevet 7. juli 2009 Forfatter Del Skrevet 7. juli 2009 Uh. Kan noen gidde å lage en spørring i en fei? Fikk aldri til LEFT JOIN, eller noen joins generelt. Lenke til kommentar
TeisL Skrevet 7. juli 2009 Del Skrevet 7. juli 2009 SELECT t1.*, COUNT(t2.link_id) as 'Total' FROM pub_kategori t1, pub_link t2 WHERE t1.kategori_id = t2.link_kategori GROUP BY t1.kategori_id Med LEFT JOIN blir det: SELECT t1.*, COUNT(t2.link_id) as 'Total' FROM pub_kategori t1 LEFT JOIN pub_link t2 ON tl.kategori_id = t2.link_kategori GROUP BY tl.kategori_id; Dette mener jeg (uten å ha testet det) skal virke med LEFT JOIN, men om det løser problemet ditt er jeg litt usikker på. (Ta en titt her: http://www.w3schools.com/sql/sql_join_left.asp ) Lenke til kommentar
TheClown Skrevet 8. juli 2009 Forfatter Del Skrevet 8. juli 2009 (endret) Takk skal du ha. Måtte endre spørringen en del, men fikk det til til slutt. SELECT t1 . * , COUNT( t2.link_id ) AS 'Total' FROM pub_kategori t1 LEFT JOIN pub_link t2 ON kategori_id = link_kategori GROUP BY kategori_id Endret 8. juli 2009 av TheClown Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå