Hallo
projekt_user
user_id | user | ...profekt_ref_gruppe_user
id | user_id | gruppen_idref_kurs
id | user_id | kurs_id
So, jetzt möchte ich gerne alle User haben, die in einer bestimmten Gruppe (hier gruppen_id=4) sind und dem Kurs noch nicht zugeordnet sind.
Fehlermeldung:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXCEPT ( SELECT ....
So, hoffe mal das ich nix wichtiges vergessen hab...
ja sicher, im Handbuch nachzuschauen, ob Dein DBMS den Operator EXCEPT kennt.
Dieser Operator kennt nicht einmal MySQL 6.0.
Gib mir
die Benutzer
die der Gruppe mit der id 4 angehören
und sich nicht in der Liste
der User des gewünschten Kurses befinden
hört sich nach einer Lösungsmöglichkeit an:
SELECT -- Gib mir
pu.user -- die Benutzer
FROM -- aus der Tabelle
project_user u -- project_user (mit Alias u)
INNER JOIN -- die mit der Tabelle
project_ref_gruppe_user pg -- project...user (mit Alias pg)
ON -- über die jeweiligen
u.user_id = pg.user_id -- Spalten user_id verknüpft sind,
WHERE -- wobei nur solche Benutzer interessieren,
pg.gruppen_id = 4 -- die der Gruppe 4 angehören
AND -- und n
pu.user_id NOT IN ( -- noch nicht in der
SELECT -- Liste
k.user_id -- der Benutzer auftreten,
FROM -- die
ref_kurs k -- einem
WHERE --
k.kurs_id = <gewünschter Wert> -- bestimmten Kurs zugeordnet sind.
)
Benötigt wegen des Subselects MySQL 4.1
Freundliche Grüße
Vinzenz