basementmedia
Benutzer
- Beiträge
- 16
Hi,
Ich mach arbeite zwar schon einige Jahre mit MySQL (natürlich nicht jeden Tag;-) Steh bei folgender Sache aber auf dem Schlauch:
Angenommen, ich habe die folgenden Datensätze in der Tabelle "Personen":
ID sub_id person_a person_b
________________________________________
1 A Daniel 0
2 A 0 Tim
3 B Andrea 0
4 B 0 Stefan
5 C Daniel 0
6 C 0 Tim
7 C Chris 0
8 D Daniel 0
Thema dieses Posts soll nicht sein, warum die Datenbanktabelle so strukturiert ist (denn daran kann ich in dem Fall nichts ändern),
sondern wie ich die folgende Abfrage ausführen kann:
"Finde mir alle Datensätze, in denen Daniel und Tim mit der gleichen sub_id eingetragen sind, gruppiert nach sub_id".
Ergebnis sollte sein: A und C
Wenn ich das hier mache, hab ich korrekterweise als Ergebnis: A, C, und D:
SELECT
sub_id
FROM persons
WHERE person_a = Daniel OR person_b = Tim
GROUP BY sub_id
D.h. ich denke ich brauche etwas wie
SELECT
sub_id
FROM persons
WHERE person_a = Daniel OR person_b = Tim
HAVING die gleiche sub_id
GROUP BY sub_id
Und an dieser Stelle endet mein Wissen (oder es ist total simpel und ich steh einfach auf dem Schlauch.
Kann mir jemand vom Schlauch runter helfen?
LG Daniel
Ich mach arbeite zwar schon einige Jahre mit MySQL (natürlich nicht jeden Tag;-) Steh bei folgender Sache aber auf dem Schlauch:
Angenommen, ich habe die folgenden Datensätze in der Tabelle "Personen":
ID sub_id person_a person_b
________________________________________
1 A Daniel 0
2 A 0 Tim
3 B Andrea 0
4 B 0 Stefan
5 C Daniel 0
6 C 0 Tim
7 C Chris 0
8 D Daniel 0
Thema dieses Posts soll nicht sein, warum die Datenbanktabelle so strukturiert ist (denn daran kann ich in dem Fall nichts ändern),
sondern wie ich die folgende Abfrage ausführen kann:
"Finde mir alle Datensätze, in denen Daniel und Tim mit der gleichen sub_id eingetragen sind, gruppiert nach sub_id".
Ergebnis sollte sein: A und C
Wenn ich das hier mache, hab ich korrekterweise als Ergebnis: A, C, und D:
SELECT
sub_id
FROM persons
WHERE person_a = Daniel OR person_b = Tim
GROUP BY sub_id
D.h. ich denke ich brauche etwas wie
SELECT
sub_id
FROM persons
WHERE person_a = Daniel OR person_b = Tim
HAVING die gleiche sub_id
GROUP BY sub_id
Und an dieser Stelle endet mein Wissen (oder es ist total simpel und ich steh einfach auf dem Schlauch.
Kann mir jemand vom Schlauch runter helfen?
LG Daniel