[MySQL] JOIN

Mahlzeit,
ich komme einfach nicht mit dem JOIN-Befehl klar.

Ich habe 2 Tabellen:

  1. kategorie
    kategorie_id (PK)
    kategorie_name

  2. dokument
    dokument_id (PK)
    dokument_titel
    kategorie_id

Nun möchte ich alle Kategorien auflisten, welche schon in Dokumente vorhanden sind.
Ist eine Kategorie vorhanden, welcher noch kein Dokument zugeordnet ist, so soll diese Kategorie nicht erscheinen.

Folgenden Code habe ich u. a. getestet:

SELECT kategorie.\* FROM kategorie
LEFT JOIN dokument ON kategorie.kategorie\_id=dokument.kategorie\_id
ORDER BY kategorie\_name

Hier bekomme ich alle Kategorien aufgelistet und wenn eine Kategorie mehrere Dokumente enthält bekomme ich die Kategorie mehrmals angezeigt.

SELECT kategorie.\* FROM kategorie
RIGHT JOIN dokument ON kategorie.kategorie\_id=dokument.kategorie\_id
ORDER BY kategorie\_name

Hier bekomme ich alle Kategorien die ein Dokument beinhalten, aber auch wieder, wenn eine Kategorie mehrere Dokumente enthält bekomme ich die Kategorie mehrmals angezeigt.

Wer weiß Rat?

Danke und Gruß

Marcel

Tag nochmal,
mit folgendem Code funktioniert es, ob das so richtig ist weis ich nicht, aber so ist das Ziel erstmal erreicht.

SELECT kategorie.\* FROM kategorie
RIGHT JOIN dokument ON
kategorie.kategorie\_id=dokument.kategorie\_id
GROUP BY kategorie.id
ORDER BY kategorie\_name

Gruß

Marcel

Hallo,

die Lösung heißt
SELECT DISTINCT …

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dank dir Peter,
Gruß
Marcel