Vinzenz Mai: JOIN falls Verknüpfung vorhanden

Beitrag lesen

Hallo Oli,


ID User
1  Anna
2  Bernd
3 Chis


Tab Bilder
id_user bild_name sort

1  anna1.jpg 1
1  anna2.jpg 2
2  bernd.jpg 1

  

> SELECT  
>  user.name,  
>  bilder.bild_name  
> FROM  
>  user,  
>  bilder  
> WHERE  
>  user.id_user = bilder.id_user  

arrgh, diese häßlichen impliziten Joins. Da sträuben sich alle noch vorhandenen Haare. Bitte lies

Einführung Joins

...bekomme ich nur User, die ein Bild haben (ist ein OUTER JOIN oder?)

mache ich das ganze mit LEFT JOIN
LEFT JOIN $bilder ON user.id_user = bilder.id_user

bekomme ich lie Liste der Bilder


Anna  anna1.jpg
Anna  anna2.jpg
Bernd  bernd.jpg
Chris -

Ja das ist so, und das ist richtig so.

ich hätte als Ausgabe jetzt gerne eine Liste aller User und falls sie ein Bild haben das derste Bild (sort=1) dazu


Anna  anna1.jpg
Bernd  bernd.jpg
Chris -

Du suchst die korrelierenden Unterabfragen. Siehe z.B. Rouvens Archivposting. Die meisten Datenbankmanagementsyste (DBMS) kommen mit solchen Abfragen zurecht, das weit verbreitete MySQL jedoch leider erst ab der Version 4.1.

Bitte nenne uns daher Dein DBMS, inklusive Version.

Freundliche Grüße

Vinzenz