Symmetrische Tupel entfernen < Datenbanken < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 17:48 Mi 24.11.2010 | Autor: | DerGraf |
Aufgabe | Welche Paare von Studenten aus der Vorlesung 'Dynamische Systeme' besuchen mindestens noch 2 weitere verschiedene Vorlesungen gemeinsam? Geben Sie von einem Paar nur eine Version aus, entweder (a,b) oder (b,a), aber nicht beide. |
Hallo Leute,
hier ist erstmal meine SQL-Anfrage, soweit ich gekommen bin:
SELECT DISTINCT S1.SID, S1.vorname, S1.nachname, S2.SID, S2.vorname,
S2.nachname
FROM student S1, student S2, besuch B1, besuch B2, besuch B3, besuch B4,
besuch B5, besuch B6, veranstaltung V
Where S1.SID<>S2.SID AND S1.SID=B1.SID AND S2.SID=B2.SID
AND B1.VID=B2.VID AND B1.VID=V.VID AND V.titel='Dynamische Systeme'
AND S1.SID=B3.SID AND S2.SID=B4.SID AND B3.VID=B4.VID
AND B3.VID<>V.VID AND S1.SID=B5.SID AND S2.SID=B6.SID
AND B5.VID=B6.VID AND B5.VID<>V.VID AND B5.VID<>B3.VID
Die gesuchten Paare werden hier schon gefunden, nur eben doppelt. Wie bekomme ich die symmetrischen Paare aus der Anfrage entfernt?
Wenn jemand von euch eine Idee für mich hätte, würde ich mich sehr freuen.
Mit freundlichen Grüßen
DerGraf
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:05 Mi 24.11.2010 | Autor: | piet.t |
Hallo,
ich behelfe mir in solchen Situationen meistens ganz pragmatisch mit
...
AND S1.SID > S2.SID
Gruß
piet
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:03 Mi 24.11.2010 | Autor: | DerGraf |
Danke für den Tipp. Eine solche Vorgehensweise hatte ich gar nicht in Erwägung gezogen, da die SIDs auch Buchstaben enthalten. Klappt aber trotzdem :)
|
|
|
|