S
Stronzoo
Hallo, bräuchte hilfe bei einer SQL-Abfrage
Hab folgende UML-Tabelle:
Person(<PK>email, vorname, nachname, geburtsdatum, geschlecht)
Gruppe(<PK>name, beschreibung, <FK>emailowner)
Photo(<PK>URL, titel, beschreibung, <FK>personemail)
Nachricht(<<PK>id, <FK>vonemail, <FK>anemail, betreff, datum, messagetext)
hatfreund(<FK>email, <FK>emailfreund)
istingruppe(<FK>gruppenname, <FK>email)
istabgebildet(<FK>photourl, <FK>personemail)
Aufgabe:
Geben Sie den Vor- und Nachnamen aller Personen an, die Mitglieder genau einer Gruppe sind.
Für die Aufgabe brauch ich nur die Tabellen Gruppe, Person und istingruppe. Die anderen brauchen nicht beachtet zu werden.
Mein Problem ist es gelingt mir nicht irgendiwe festzustellen, wie oft jemand in einer Gruppe ist. Ich könnte mit count(*) die Anzahl festellen, aber wie leg ich fest das er nur die ausgibt die nur eine Gruppe haben?
Das hab ich mal so hingebastelt:
Select p.vorname, p.nachname, g.name
from person p, gruppe g, istingruppe i
where p.email = (Select count(*) from istingruppe where p.email = i.email) = 1
funktioniert aber nicht...vielleicht weil ich das mit den subqueries noch nicht so richtig drauf habe. Könnte mir da jemand weiterhelfen?
Hab folgende UML-Tabelle:
Person(<PK>email, vorname, nachname, geburtsdatum, geschlecht)
Gruppe(<PK>name, beschreibung, <FK>emailowner)
Photo(<PK>URL, titel, beschreibung, <FK>personemail)
Nachricht(<<PK>id, <FK>vonemail, <FK>anemail, betreff, datum, messagetext)
hatfreund(<FK>email, <FK>emailfreund)
istingruppe(<FK>gruppenname, <FK>email)
istabgebildet(<FK>photourl, <FK>personemail)
Aufgabe:
Geben Sie den Vor- und Nachnamen aller Personen an, die Mitglieder genau einer Gruppe sind.
Für die Aufgabe brauch ich nur die Tabellen Gruppe, Person und istingruppe. Die anderen brauchen nicht beachtet zu werden.
Mein Problem ist es gelingt mir nicht irgendiwe festzustellen, wie oft jemand in einer Gruppe ist. Ich könnte mit count(*) die Anzahl festellen, aber wie leg ich fest das er nur die ausgibt die nur eine Gruppe haben?
Das hab ich mal so hingebastelt:
Select p.vorname, p.nachname, g.name
from person p, gruppe g, istingruppe i
where p.email = (Select count(*) from istingruppe where p.email = i.email) = 1
funktioniert aber nicht...vielleicht weil ich das mit den subqueries noch nicht so richtig drauf habe. Könnte mir da jemand weiterhelfen?