On Tue, 14 Jun 2005 15:05:57 +0000 (UTC), "Stig H. Jacobsen"
<stighj-at-googles-mail@nospam.invalid> wrote:
>> Men hvis en plante så har mange billeder, så får jeg alle billederne med
>> - jeg vil kun have et enkelt ..... (eller plantens navn uden billede,
>> hvis den ikke har et billede)
>
>En sub-select burde kunne gøre det - alle planterne og et enkelt
>billede fra hver:
>
>SELECT id,
> navn,
> (SELECT pb.filnavn
> FROM plantebilleder pb
> WHERE pb.plante_id = planter.id
> ORDER BY 1
> LIMIT 1
> ) AS "filnavn"
> FROM planter;
>
>Du får NULL som filnavn for planter, hvor der ingen billeder er.
>
>Jeg har ikke prøvet eller syntaxchecket det, men lad mig vide om
>det virker.
Det virker som det skal - tak for det
Jeg havde selv fundet frem til:
SELECT DISTINCT ON (planter.id) planter.id, planter.navn
billeder.filnavn FROM planter LEFT JOIN ( SELECT billeder.filnavn FROM
billeder ) AS billeder ON planter.id = billeder.plante_id;
som også lader til at virke. Men dit forslag virker noget pænere så det
vil jeg tage til mig
--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - snart i ny indpakning:
http://ny.gartneriet.dk