02. december 2002 - 10:19Der er
7 kommentarer og 3 løsninger
hente relationsdata fra to tabeller
Lige til at starte med... hvorfor er det lige at der ikke er nogen decideret SQL kategori?!
Nå, men til sagen...
jeg har en database med tre tabeller, tblUsers, tblSchools og tblMySchool.
Hver tabel har en id/autonr som primær nøgle og der er oprettet relation imellem dem. I tblMySchools har jeg felterne id, user, school og en række kan se sådan her ud: 32,1,54
Jeg skal nu have lavet en query, så jeg får et output der viser username og school, for en given bruger. Jeg har indtil videre følgende sql
SELECT tblUsers.username, tblSchools.school FROM (tblSchools INNER JOIN tblUsers ON tblSchools.id = tblUsers.id) INNER JOIN tblMySchools ON (tblUsers.id = tblMySchools.user) AND (tblSchools.id = tblMySchools.school) WHERE (((tblUsers.id)=1) AND ((tblSchools.id)=[tblMySchools].[school]));
problemet er bare at den kun viser een record, selvom der f.eks. findes 6 records i tblMySchools der har userid 1
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.
Kan følgende ikke gøre det? Den finder brugernavn og skole, for alle de, der i Myscools har bruger ID = 1. Her bruger1 altså flere skoler, bliver de også vist da sammenbindingen mellem bruger og skole nmetop sker i denne tabel. Du er jo ikke interesseret i skoler uden brugere eller brugere uden skoler, så det bør være godt nok.
SELECT tblmyschool.userid tblusers.username, tblschools.school FROM tblusers, tblschools WHERE tblmyschool=1
det var forresten erikjacobsen der havde fat i noget af det rigtige.. den havde nemlig lavet en dobbeltrelation fra tblUsers til tblMySchools på tblUsers/id til tblMySchools/user OG id... det dur jo ikke...
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.