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

[... leider falscher Join ...]

... wäre besser? Sorry wenn ich so blöd frage :-)

wenn es richtig wäre, dann ja.


Anna  anna1.jpg
Bernd  bernd.jpg
Chris -

ja sorry das habe ich vergessen: MySQL 4.1.14

Ja, da gehen die von mir angesprochenen Subselects.
Du suchst das Minimum der Spalte Sort, ein erster Ansatz wäre somit folgender ungetestes Statement:

  
SELECT  
  user.name,  
  b1.bild_name  
FROM  
  user  
-- Da Du zweimal auf die Tabelle bilder zugreifen musst,  
-- führen wir einen Aliasnamen ein.  
LEFT JOIN bilder b1  
ON user.id_user = b1.id_user  
-- Nun suchen wir genau das richtige Bild aus, das ist dasjenige  
-- mit dem kleinsten Eintrag in der Spalte `sort`  
WHERE bilder.sort = (SELECT MIN(sort) FROM bilder b2 WHERE b1.id = b2.id)  

Freundliche Grüße

Vinzenz