Hilfe bei SQL benötigt
-
Hi,
ich zermartere mir gerade das Hirn wie ich mit einer SQL-Abfrage auf eine MS-ACCESS DB folgendes hinbekomme:
Es gibt eine Tabelle "Projects", eine Tabelle "Users" und eine Tabelle "rel_UsersProjects", die zuordnet welche User an welchen Projekten arbeiten.
Ich habe das mal alles etwas vereinfacht denn ich möchte nur die prinzipielle Struktur eine passenden SQL-Abfrage dazu wissen.
"Projects" sieht so aus:
ProjectID / ProjectName / .... ----------/------------- 0 / "bla" 1 / "foo" 2 / "bar" ... / ....
"Users" sieht so aus:
UserID / UserName / .... ----------/------------- 0 / "Heinz" 1 / "Karl" 2 / "Peter" ... / ....
rel_UsersProjects hab ich so angelegt:
UserID / ProjectID ------------------ 0 / 1 0 / 3 1 / 1 2 / 2 2 / 3
Diese Beispiel-Datensätz bedeuten folgendes:
User 0 ("Heinz") arbeitet an den Projekten 1 und 3
User 1 ("Karl") arbeitet nur am Projekt 2
User 2 ("Peter") arbeitet an den Projekten 2 und 3Was ich brauche:
Mit einem SQL-Befehl möchte ich ein Auflistung alle Projekte an den ein User, dessen Name ich habe, arbeitet, also in etwa sowas:SELECT ProjectName FROM Projects INNER JOIN rel_UsersProjects USAGE ProjectID WHERE UserID = DerUserDerMichInteressiertAberDessenName!
Ich bin ein relativer SQL-N00b deswegen hoff ich mir kann da jemand helfen.
Und wenn ich das habe muss noch was wissen...
Kann ich die SELECT-Abfrage dann noch so erweitern, das ein Ergebnis-Feld ALLE User enthält die am Projekt arbeiten - kommasepariert.
-
Du brauchst nur anstatt:
WHERE UserId =
folgendes machen:
WHERE UserName = 'Peter'