ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
1762
1762
EMPFEHLEN
-
Hallo!
Hoffentlich könnt ihr mir bei meinem kleinem Problem Helfen und zwar suche ich nach einem Statement für eine MySql DB.
Ich will alle Personen herausfinden die nicht einer bestimmten Gruppe zugeordnet sind
in etwa so:
Code :1 2 3 4 5 6
SELECT a.username FROM User a, Group b, jiveGroupUser c WHERE a.userID = c.userID AND b.groupID = c.groupID AND c.name NOT LIKE 'Team' ;
Klappt auch super, jedoch existieren auch User die sowohl der Gruppe "Team" als auch einer anderen Gruppe zugehören, jene will ich auch aussortiert haben.
Könnt ihr mir da bitte weiterhelfen, oder zumindest einen Tipp geben in welcher Richtung ich einen Lösungsansatz finden könnte. (Outer Join, etc ...)
Vielen Dank
Schöne Grüße Polo85
-
Moin polo85,
das entspräche doch einer Zusatzbedingung "ausser die UserIds, die der Gruppe "Team" zugehörig sind.
Auf SQL (sinngemäß und ungetestet)
Code :1 2 3 4 5 6 7 8
SELECT a.username FROM User a, Group b, jiveGroupUser c WHERE a.userID = c.userID AND b.groupID = c.groupID AND c.name NOT LIKE 'Team' And a.UserId NOT IN ( select Distinct(UserID) from jiveGroupUser where groupID = 'Team');
Wozu und ob der Schlenker über die Group-Tabelle b nötig ist, vermag ich von hier aus nicht zu erkennen.
Gruss Biber2
-
Hi!
Also die Group b hält alle Gruppen. Und die (jive)GroupUser c verbindet jeden User mit der dessen zugehörigen Grruppen.
Deine "NOT IN" Empfehlung konnte ich leider nicht positiv durchführen, vielleicht versteht MySQL solche Subselects nicht...
Grüße
-
Moin polo85,
sorry, mein Fehler.
Ändere bitte das "NOT IN" um in "NOT EXISTS" bei mySQL.
Code :1 2 3 4
.. And NOT EXISTS ( select * from jiveGroupUser where groupID = 'Team');
Gruss Biber2
-
Hallo!
Also das mit dem NOT EXISTS hab ich auch am Anfang ausprobiert, jedoch bin ich mir nun ziemlich sicher, dass MYSQL unter der Vers. 4 keine Subselects kann. Eine Umgehung ist mir nicht eingefallen.
Ich habe jetzt den Umweg genommen und 2 Selects an die DB geschickt und sortiere dann entsprechend mit Java welche User in der Gruppe sind und welche nicht.
Dankeschön
und Viele Grüße
Polo
-
es müsste auch ohne subselect gehen versuch es mal so:
Gruss bbCode :1 2 3 4 5
SELECT a.username FROM User a, Group b, jiveGroupUser c WHERE a.userID = c.userID AND b.groupID = c.groupID AND [B]NOT[/B] c.name LIKE 'Team' ;
-
hi brainbyte!
Das hab ich auch schon ausprobiert, jedoch sind die mitglieder nicht einer Gruppe zugeordnet sondern 1..n . Mit deinem Vorschlag gelingt es mir die Ergebnismenge um die Team-Mitglieder zu reduzieren, jedoch sind sie noch in weiteren Gruppen vertreten und tauchen wieder auf...
Grüße Polo85
Ähnliche Themen
-
Richtige Syntax bei Operatorüberladung, wann sind "friend", "const", "&" nötig?
Von mrs_schokokeks im Forum C/C++Antworten: 4Letzter Beitrag: 25.08.10, 19:13 -
Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
Von MTMonline im Forum Videoschnitt, Videotechnik & -produktionAntworten: 2Letzter Beitrag: 25.04.08, 09:49 -
C# If "nummer" else "letter" abfrage
Von Alzurana im Forum .NET CaféAntworten: 6Letzter Beitrag: 18.03.07, 13:46 -
Abfrage "Download" oder "Öffnen"
Von bmxvoodoo im Forum PHPAntworten: 3Letzter Beitrag: 16.12.05, 11:17 -
Operator "AND" und Probleme bei Abfrage
Von Tservarius im Forum PHPAntworten: 1Letzter Beitrag: 17.10.04, 21:49





Zitieren
Login





