select navn, adresse, count(meddelelser.brugerID) as antalMeddelelserFraBruger from bruger left join meddelelser on bruger.brugerid = meddelelser.brugerid group by navn, adresse
som giver følgende output:
Navn Adresse antalMeddelelserFraBruger Hans Jensen Torvet 5 3 Erik Eriksen Smøgen 3 5
...MEN, jeg en kollone mere i bruger tabellen der hedder "aktiv". Hvis denne er 0 (False) skal antalMeddelelserFraBruger fra denne bruger være 0. Så hvis Hans Jensen ikke er aktiv men godt nok har nogle meddelelser skal output være:
Navn Adresse antalMeddelelserFraBruger Hans Jensen Torvet 5 0 Erik Eriksen Smøgen 3 5
select navn, adresse, IF (bruger.aktiv <> 0) count(meddelelser.brugerID) ELSE 0 as antalMeddelelserFraBruger from bruger left join meddelelser on bruger.brugerid = meddelelser.brugerid group by navn, adresse;
Jeg kan faktisk ikke helt huske om man kan bruge IF på den måde, men jeg mener at have lavet noget i den stil. Hvis det ikke virker må du lige råbe op, så kan jeg godt lave en anden der virker.
Uha det var da en farlig måde at lave et udtræk på.. .vha en case pga. en værdi i anden kolonne. Det betyder ikke noget ved små udtræk, men hvorfor ikke lave det på en mere standard måde?
hvis aktiv<>0 betyder aktiv=1 så er det langt hurtigere
Synes godt om
Ny brugerNybegynder
Din løsning...
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.