Abfrage - Gleiche Spalte nur einmal ausgeben

Atalión

Mitglied
Heyho :)

Ich hab ein kleines Problem, da ich nicht genau weiß, wie ich die Abfrage formulieren soll, um zum gewünschten Ergebnis zu kommen oder ob das überhaupt möglich ist.

Kurze Erläuterung: Auf unserer Seite kann man "Fan" von einem Spiel/Buch/etc. werden und jetzt möchte ich überprüfen lassen, ob man mit einem bestimmten User übereinstimmende Filme/Bücher etc. favorisiert hat.

Ich hab eine Tabelle mit der Spalte userID und bookID.. ich möchte jetzt nur die Einträge auslesen lassen, wo sowohl die eigene User-ID als auch die ID desjenigen, mit dem man sich vergleichen möchte, die gleiche bookID haben..

Beispiel, es gibt folgende Einträge:
userID, bookID:
1, 12
1, 13
2, 12
2, 11

Dann sollen jetzt nur die Einträge "1, 12" sowie "2, 12" ausgelesen werden.

Ist das möglich und wenn ja, wie? :confused:

Liebe Grüße,
Malte :)

EDIT: Hm.. mir fällt gerade ein, ich kann das ja einfach mit 'ner While-Schleife machen xD manchmal sieht man den Wald vor lauter Bäumen nicht. Sollte es doch eine einfachere Methode geben, könnt ihr gern noch antworten :)
 
Zuletzt bearbeitet:
Hallo,

MySQL?
SQL:
SELECT a.userID, a.bookID 
FROM tab AS a JOIN tab AS b ON a.bookID = b.bookID AND a.userID != b.userID 
GROUP BY a.userID, a.bookID

Grüße BN
 
Zuletzt bearbeitet von einem Moderator:
Zurück