ZoRaC Skrevet 15. juni 2007 Skrevet 15. juni 2007 (endret) Har 3 tabeller som ser slik ut: Personer: persID, navn, tlf Kalender: kalID, hendelse, tid Kal_pers: relID, kalID, persID Jeg ønsker å liste ut noe slikt: Ola Normann - 5 hendelser Kari Normann - 2 hendelser Altså hvor mange "hendelser" i kalenderen hver person er knyttet til. Kal_pers kan f.eks se slik ut: 1|1|1 2|1|2 3|2|1 Altså er persID 1 og 2 tilknyttet kalID og persID 1 er også tilknyttet kalID 2. Kan jeg få til dette med en spørring, eller må jeg hente ut alle persID fra "personer" først, for deretter loope igjennom alle resultater og ta en count-spørring på "kal_pers" med samme persID? Håper dette var forståelig? Endret 15. juni 2007 av ZoRaC
Gjest Slettet+142 Skrevet 15. juni 2007 Skrevet 15. juni 2007 (endret) Select p.navn AS navn, count(*) AS hendelser FROM kal_pers kp INNER JOIN personer p ON kp.persID=p.persID INNER JOIN kalender k ON kp.kalID=k.kalID GROUP BY p.persID Noe slikt? Endret 15. juni 2007 av Slettet+142
ZoRaC Skrevet 15. juni 2007 Forfatter Skrevet 15. juni 2007 Flott, takk! Er det mulig å endre den slik at den også skriver "Petter - 0"? (altså at den tar med de personene som ikke er knyttet til en hendelse?)
Gjest Slettet+142 Skrevet 15. juni 2007 Skrevet 15. juni 2007 Da må du nok be til høyere makter enn meg iallefall
ZoRaC Skrevet 15. juni 2007 Forfatter Skrevet 15. juni 2007 Fikk det til! SELECT ezusermanager.id, ezusermanager.firstname, ezusermanager.lastname, count(kalender_pers.kalID) AS antall FROM ezusermanager LEFT JOIN kalender_pers ON ezusermanager.id=kalender_pers.persID GROUP BY ezusermanager.id ORDER BY antall DESC
Crowly Skrevet 15. juni 2007 Skrevet 15. juni 2007 Hvis du vil ha litt mindre å skrive kan du legge ett alias på tabellen(e) slik SELECT e.id, e.firstname, e.lastname, count(k.kalID) AS antall FROM ezusermanager e LEFT JOIN kalender_pers k ON e.id=k.persID GROUP BY e.id ORDER BY antall DESC
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å