[MySQL, phpmyadmin] Abfrage über Relationstabelle

mr-otin

Mitglied
Hallo,

ich habe folgende Tabellen-Ausgangssituation

relation.JPG


Nun möchte ich zu jeder Retoure bei der ein Kommentar (datum, mitarbeiter, bemerkung (retouren_kommentar)) hinterlegt ist angezeigt bekommen. Das ganze habe ich mit der Relationstabelle gemacht wobei die retoure_id und die kommnetar_id jeweils als Foreign key in der Tabelle gespeichert sind.

Mache ich nun folgende Abfrage wird mir immer nur ein DS angezeigt!

Code:
SELECT 
    DATE_FORMAT(k.datum, "%d.%m.%Y %H:%m:%s") AS datum,
    CONCAT(m.nachname, ', ', m.vorname) AS Bearbeiter,
    k.bemerkung
FROM
    retouren_kommentar AS k
    LEFT JOIN ma AS m ON k.ma_id = m.id

WHERE 
    k.kommentar_id = (SELECT retoure_id FROM retouren_retoure_has_kommentar WHERE kommentar_id = retoure_id)

Wie muss ich auf die Relationstabelle zugreifen Per LEFT JOIN, WHERE Klausel.

MfG
Dave
 
Als erstes. Was willst du den auswerten?

Warum vergleichst du die retoure_id mit der Kommentar-Id der kommentartabelle? DIese 2 IDs haben nix gemeinsames.
Im Where des Subselecktes vergleichst du kommentar_id = retoure_id. Da werdennur die Datensätze ausgegeben, bei denen per Zufall die ID gleich ist.
 
Hallo Yaslaw,

ich möchte alle Kommentare (mit Datum, Bearbeiter, Bemerkung) die zu der Retoure angelegt worden sind ausgeben. In der Tabelle retouren_has_kommentar sind die retoure_id als Foreignkey und die kommentar_id als Foreignkey hinterlegt aus jeder Tabelle.

Wie muss ich nun auf diese Tabelle retour_has kommentare zugreifen, per Join oder in einer Where-Klausel

MfG
Dave
 
So

ich habe mir gerade die Lösung selbst erarbeitet:

Code:
SELECT
  DATE_FORMAT(retouren_kommentar.datum, "%d.%m.%Y %H:%m:%s") AS datum, 
  CONCAT(ma.nachname, ', ', ma.vorname) AS Bearbeiter,
  retouren_kommentar.bemerkung
FROM
retouren_kommentar
LEFTJOIN ma ON retouren_kommentar.ma_id = ma.id
WHERE
kommentar_id IN (SELECT kommentar_id FROM retouren_retoure_has_kommentar WHERE retoure_id = 1)

Yaslaw danke, du hast mich mit der Nase reingestossen.... Wenn man mehrere Tage an so einer kleinen App sitzt sieht man den Wald vor lauter Bäume nicht mehr :rolleyes:

Gruß
Dave
 
Zuletzt bearbeitet:
Zurück