Jeg har tre tabeller, en med nyheder, en med kommentarer til nyhederne 
og en med brugere.
nyheder:   id, tekst, brugerid
kommentarer:   id, nyhedid, tekst, brugerid
brugere:   id, navn, rolle
Jeg vil gerne tælle antallet af kommentarer, når jeg henter nyhederne. 
Detter er enkelt med et join:
SELECT nyhed.id,nyhed.tekst,count(DISTINCT kommentar.id) FROM nyhed
     LEFT JOIN kommentar ON kommentar.nyhedid=nyhed.id GROUP BY nyhed.id
Nu er det imidlertid sådan, at nogle nyheder og kommentarer skal være 
synlige for nogen brugere og ikke for andre.
Jeg kan nemt få knyttet brugerens rolle til idéerne og kun få vist de 
nyheder, som brugeren må se:
SELECT nyhed.id,nyhed.tekst,brugere.navn,count(DISTINCT kommentar.id) 
FROM nyhed
   JOIN brugere ON brugere.id=nyhed.brugerid
   LEFT JOIN kommentar ON kommentar.nyhedid=nyhed.id
   WHERE brugere.rolle="adm"
   GROUP BY nyhed.id
Problemet er at optællingen af antal kommentarer hér inkluderer alle 
kommentarer uanset brugerens rolle. Optællingen skal såldes også gøres 
afhængig af brugerens rolle, så antallet matcher det antal brugere 
faktisk vil kunne se.
Hvordan gør man det???
Pft, Kim 
