riker123: Frage zu MYSQL Abfrage

Hallo,

ich hab auch grad eins dieser bekannten Bretter vorm Kopf... und daher komm ich nicht drauf wo mein Fehler bei folgendem Problem liegt.

Ich habe zwei Tabellen, welche durch eine m:n-Beziehung verknüpft sind. Nun wird diese durch den Einsatz einer neuen Tabelle aufgelöst. In dieser Tabelle stehen nun folgende Einträge:

+----------------------+
+  id  + des_id + e_id +
+------+--------+------+
+   1  +    1   + 1000 +
+   2  +   24   + 1000 +
+   3  +    1   + 1001 +
+   4  +   24   + 1002 +
+----------------------+

Meine Abfrage soll nun alle e_id's zurückgeben, welche die des_id 1 UND 24 haben. In diesem Fall also nur die 1000. Ich brauche also eine Abfrage, welche prüft, ob der Eintrag halt unter beiden ID's geführt wird und dann den Wert zurück gibt.

Mein Versuch bisher lautet

SELECT de.e_id FROM des_e de WHERE (de.des_id IN (...) AND d.des_id IN (...));

Die ... sind dann jeweils Arrays von möglichen ID's, d.h. entweder nur eine oder mehrere. Die Abfrage soll halt die Einträge zurückgeben, deren des_id in beiden arrays auftauchen.

Meine Abfrage gibt mir keine Ergebnisse zurück und ich komm derzeit auch nicht drauf, wie ich das anstellen soll.

Kann mir da jemand weiterhelfen?

Gruß
riker123

  1. Hallo,

    Ich habe zwei Tabellen, welche durch eine m:n-Beziehung verknüpft sind. Nun wird diese durch den Einsatz einer neuen Tabelle aufgelöst. In dieser Tabelle stehen nun folgende Einträge:

    +  id  + des_id + e_id +
    +------+--------+------+
    +   1  +    1   + 1000 +
    +   2  +   24   + 1000 +
    +   3  +    1   + 1001 +
    +   4  +   24   + 1002 +

    Meine Abfrage soll nun alle e_id's zurückgeben, welche die des_id 1 UND 24 haben. In diesem Fall also nur die 1000.

    Kann mir da jemand weiterhelfen?

    Du hast ein vergleichbares Problem wie asmodin mal hatte. Der war mit meinen Lösungsvorschlägen zufrieden.

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      Danke für die Hilfe, das ist genau das was ich brauche. Ich hatte die zweite Methode mittlerweile selbst versucht, jedoch noch einen Fehler drin gehabt. Ich werde dann mal versuchen das so umzusetzen.

      Gruß,
      riker123