MySQL Forums
Forum List  »  German

Newbie Frage: 2 Tabellen JOIN - Denkfehler?
Posted by: Marco Schöling
Date: March 02, 2023 05:13AM

Hallo Leute,
weiß nicht, ob ich hier richtig bin, ich habe eine so einfache Frage, dass es mir fast peinlich ist...

Zwei Tabellen möchte ich JOINen.
Artikel und Artikelfotos.
Zu jedem Artikel gibt es 0 bis zu 10 Fotos.

Ich möchte nun eine Zeile pro Artikel und dazu die Fotodaten von EINEM Foto (falls vorhanden). Und ich möchte dasjenige Foto, welches "isthauptfoto=1" gesetzt hat. Wenn kein Foto vorhanden, dann möchte ich dennoch eine Zeile aus Artikel sehen.

Sieht derzeit so aus:

SELECT a.artikelid, a.kurzbezeichnung, af.dateiname
FROM tf_artikel a
LEFT JOIN tf_artikelfotos af ON a.artikelid = af.artikelid
WHERE a.kurzbezeichnung LIKE '%trainingsanzug%'
AND a.artikelstatusid = 2
ORDER BY artikelid DESC
LIMIT 100

Nun, dieses Statement bringt leider eine Zeile pro Foto - dann wird also der jeweilige Artikel mehrfach gelistet.
Füge ich ein: WHERE af.isthauptfoto=1
dann werden diejenigen Artikel ohne Foto gar nicht mehr angezeigt.

Ich hätte gerne genau eine Zeile pro Artikel - und (wenn vorhanden) auch noch die Fotodaten von einem Foto dazu.

Geht das überhaupt mit einem JOIN? Oder muss ich ein SubSelect bemühen?
Wahrscheinlich ist es ganz einfach, aber ich sehe es nicht.

Danke für einen kleinen Tip.
Marco

Options: ReplyQuote


Subject
Views
Written By
Posted
Newbie Frage: 2 Tabellen JOIN - Denkfehler?
338
March 02, 2023 05:13AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.