Mein Problem ist das nächste.MySQL bekommen Paare von Zeilen aus dem gleichen Satz von Fremdtabelle
Ich habe 3 Tabellen: Menschen, Autos und Driven:
Menschen:
Id Name
1 | Tom
2 | James
3 | Charles
4 | Eric
5 | Thomas
6 | Robert
7 | Kim
8 | Ellias
Cars:
Id Name
1 | Ford
2 | Nissan
3 | Hyundai
Driven:
PID CID (People ID & Car ID)
1 | 1
2 | 1
5 | 1
5 | 2
6 | 1
6 | 2
7 | 1
7 | 2
7 | 3
8 | 1
ich abrufen möchten Paare von Menschen, die fahren en das gleiche Set von Autos. Ich meine: wenn Tom nur Ford fährt und James auch NUR Ford fährt, möchte ich dieses Paar Tom/James als Ergebnis zurückgeben. Auch ich möchte Paare von Leuten einschließen, die kein Auto gefahren haben (dh. Charles/Eric (0 Autos gefahren beide)).
Das Abfrageergebnis mit dem obigen Beispiel sollten zwei Spalten pro Ergebnis zurückgeben, zum Beispiel:
Name Name
Tom | James (Only Ford)
Tom | Ellias (Only Ford)
James | Ellias (Only Ford)
Charles | Eric (None BOTH)
Thomas | Robert (Ford and Nissan BOTH)
Beachten Sie auch, dass Kim Ford, Nissan und Hyundai angetrieben hat. Also wird Kim nicht mit irgendjemandem paaren. Tom James und Ellias sind alle Ford gefahren, also sind sie ein Paar mit sich.
Ich habe versucht mit kartesischen Produkt und relationale Abteilung, aber ich habe keine Lösung gefunden. Wenn mir jemand wenigstens mit einem Trinkgeld helfen kann, werde ich wirklich dankbar sein. Vielen Dank!
Können Sie Charles und Eric in Beispieldaten und das richtige erwartete Ergebnis hinzufügen. Auch nach dem dritten Datensatz in 'Drived' Tabelle,' Tom' fuhr 'Nissan' auch, aber warum haben Sie erwähnt * Tom drived nur Ford * –
behoben und fügen Sie das ganze Beispiel – ricaso
versuchen Sie diese SELECT GROUP_CONCAT (p.name) als Menschen , c.name aus gefahren als d join Leute wie p auf p.id = d.PID beitreten Auto wie c auf c.id = d.CID Gruppe von d.CID – Shibon