22. november 2007 - 12:56Der er
4 kommentarer og 1 løsning
Hjlælp til noget left join
Jeg har følgende SQL sætning: SELECT tbl_boat_boat.id, tbl_boat_images.fld_image_name FROM `tbl_boat_boat` left join tbl_boat_images on tbl_boat_boat.id = tbl_boat_images.fld_boat_id
Det er så OK, - men den returnere også alle rækker i image tabellen.(det er jeg ikke interesseret i)
I min tabel tbl_boat_images har jeg alle billederne liggende, - her har jeg et felt der hedder fld_image_number. (den kan så være 1 til 10.)
I min left join vil jeg kun ha den laveste værdi for fld_image-number tbl_boat_images.fld_boat_id peger selvfølgelig over på id´et i min tbl_boat_boat.!
dvs. Jeg vil ha´ alle rækker fra tbl_boat_boat tabellen og det tilhørende fld_image_name fra tbl_boat_image tabellen (med laveste fld_image_number), - hvis der forefindes noget.!
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Jeg er ikke helt sikker på at denne metode er understøttet, men det må komma an på en prøve:
SELECT b.id, (select bi.fld_image_name from tbl_boat_images bi where bi.fld_boat_id=b.id order by fld_image_number limit 1) as image FROM `tbl_boat_boat`
SELECT b.id, (select bi.fld_image_name from tbl_boat_images bi where bi.fld_boat_id=b.id order by fld_image_number limit 1) as image FROM `tbl_boat_boat` b
- Du manglede et "b" til sidst. - Så du får ingen point. :-)
SUPER Nice, Det virker - læg et svar og tusind tak for hjælpen!
Det er det gode ved MySQL v5. De har langt om længe fået subselect implementeret i en udgave, der længe har været i andre databaser.
.o) <-- One Eyed Jack
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.