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 3

    Was 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'


Anmelden zum Antworten