10. juni 2003 - 20:25Der er
7 kommentarer og 1 løsning
Avanceret select over flere tabeller
Hej E
Jeg har følgende query:
select brugere.brugernavn, brugere.mail, brugere.logins, brugere.downloads, brugere.foerste_tid, brugere_styles.style, brugere_bookmarks.bookmarks from brugere, brugere_styles, brugere_bookmarks where brugere.id = 1 and brugere_styles.uid = 1 and brugere_bookmarks.uid = 1
Denne skal hente nogle brugeroplysninger, der er gemt i tre tabeller (brugere, brugere_styles og brugere_bookmarks): Brugere: id = "id" Brugere_styles: id = "uid" Brugere_bookmakrs: id = "uid"
Denne virker også fint, hvis uid = [valgt id] findes i "styles" og "bookmarks". Det er dog kun sikkert, at id'et findes i "brugere" og ikke i de to andre tabeller. Hvordan skal min query se ud, hvis jeg stadig vil have noget lignende:
brugernavn | mail | logins | downloads | foerste_tid | style | bookmarks hejhej | mail@gnu.dk | 99 | 5 | 2001-08-24 00:00:00 | mit | noget
Når der findes noget i styles og bookmarks-tabellerne, men ellers blot:
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.
Ok - det virker fint som du skriver. Jeg skal du LEFT JOIN'e fra to tabeller. Jeg prøvede med følgende:
SELECT * FROM brugere LEFT JOIN brugere_styles, brugere_bookmarks ON brugere.id = brugere_styles.uid AND brugere.id = brugere_bookmarks.uid WHERE brugere.id = 2
Men det virker ikke. Der kommer alt for mange records. I min uvidenhed udskiftede jeg AND med OR, men det hjalp heller ikke.
Kan du evt. skrive et eksempel, hvor der joines fra begge tabeller (brugere_styles og brugere_bookmarks)???
SELECT * FROM (brugere LEFT JOIN brugere_styles ON brugere.id = brugere_styles.uid) LEFT JOIN brugere_bookmarks ON brugere.id = brugere_bookmarks.uid WHERE brugere.id = 2
SELECT brugere.brugernavn, brugere.mail, brugere.logins, brugere.downloads, brugere.foerste_tid, brugere_styles.style, brugere_bookmarks.bookmarks FROM (brugere LEFT JOIN brugere_styles ON brugere.id = brugere_styles.uid) LEFT JOIN brugere_bookmarks ON brugere.id = brugere_bookmarks.uid WHERE brugere.id = 1
Det virker bare perfekt. Mange tak for hjælpen, Arne.
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.