21. september 2000 - 13:00Der er
4 kommentarer og 1 løsning
Select / Join
Jeg har 3 tabeller: 1: STAR_T med felterne ID, NAME, PICTURE. 2: MOVIE_T med felterne ID, TITLE, PICTURE. 3: MOVIE2STAR_T med felterne ID, MOVIE, STAR
I databasen er en masse skuespillere og film. Jeg bruger tabellen MOVIE2STAR_T til at lave reference mellem en skuespiller og en film. MOVIE2STAR_T.MOVIE indeholder ID på filmen, og MOVIE2STAR_T.STAR indeholder ID på skuespilleren. Når jeg skal vise hvilke film en skuespiller har været med i søger jeg MOVIE2STAR_T igennem med skuespiller-ID\'en. Men den kode jeg har lavet som består af flere SELECT-statements er blevet AL for langsom, så mit spørgsmål er; HVORDAN LAVER JEG DETTE I ÉN SELECT ???
De film én skuespiller, nummer 117, har været med i
select * from movie_t,movie2star_t where movie2star_t.stat=117 and movie2star_t.movie=movie_t.id
Eller alle skuespillere med alle film:
select * from star_t,movie_t,movie2star_t where movie2start_t.star=star_t.id and movie2star_t.movie=movie_t.id
Og så bør du nok for overskuelighedens skyld skrive de præcise felter i stedet for *, f.eks: movie_t.title, start_t.name eller hvad du nu har brug for (med alle forbenhold for fejl)
Ja, selvom jeg ikke er SQL-haj kan jeg godt abstrahere for stavefejl! :-)
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.