25. august 2003 - 15:21Der er
7 kommentarer og 1 løsning
problem i inner join
hejsa..
jeg har et problem i en denne inner join
"SELECT * FROM users u JOIN studentbooks s ON u.id=s.uid WHERE u.did='$_SESSION[depid]' AND s.eid='$eid'"
problemet er at i begge tabeller er der en kolonne der hedder "id", og de er ikke ens i begge tabeller, og den henter jo selfølgelig "id" fra den forkerte...
hvordan kan jeg bestemme hvilken tabel at den skal hente id fra?
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.
Det fremgår jo ikke af din query, hvilke kolonner du får fat i. Kan du ikke hente dem specifikt eller bruge mysql_fetch_row() og så hente den med et numerisk index?
SELECT u.* FROM users u JOIN studentbooks s ON u.id=s.uid WHERE u.did='$_SESSION[depid]' AND s.eid='$eid'
ved overstående eks, henter den kun alle data fra 'users' tabellen. Det er ikke altid smart at hente alle celler på den måde. I hvert fald ikke hvis du ikke skal bruge alle.
hvis du kun skal bruge id og nogle andre kan du jo dele det lidt op.
SELECT u.id AS uid, s.uid AS suid FROM users u JOIN studentbooks s ON u.id=s.uid WHERE u.did='$_SESSION[depid]' AND s.eid='$eid'
<cellenavn> AS <navn>, giver de forskellige celler et nyt navn, så det er lettere at hente data ind i php-arrays.
jamen problemet er jo at jeg skal have "id" fra begge tabeller ud, men hvordan bestemmer jeg hvilken en af dem jeg vælger bagefter til f.eks. at lige ind i en variabel?
kan desv. ikke ligge et skærmskud af tabellen før i morgen tidlig, da det er på mit arbejde at problemet ligger
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.