SQL Abfrage über mehrere Tabellen

redom

Neuer Benutzer
Beiträge
3
Hallo,

mein Problem ist das Folgende: Ich habe eine Access-DB mit mehreren Tabellen, wobei eine die Haupttabelle ist, welche Projekte enthält, und eine der Anderen ist ein Personenverzeichnis, welches aus ID und Namen der Person besteht. Jetzt werden für einen Projektdatensatz mehrere Personen benötigt (Leiter- und Stellvertreter), die jeweils über ihre ID als Fremdschlüssel in den Datensatz eingehen. Ich möchte aber, dass diese in einer Abfrage über die Projektdatenbank namentlich auftauchen, und nicht nur über den Fremdschlüssel. Wie ist das möglich?

Ich habe in der Projektdatenbank noch eine weitere Spalte, in der pro Projekt die Leiter und Stellvertreter in einem Textfeld eingetragen wurden. Diese sollte eigentlich durch das oben beschriebene System ersetzt werden, so dass man die Personen im Formular über einen Reiter einfügen kann. Sollte es dafür aber keine Lösung geben, kann man dann vielleicht in das Textfeld einen Standardwert eintragen, der dem Personennamen der zur Personen-ID gehört, welche in dem Reiterfeld eingetragen wird, entspricht? Dann könnte ich in der Abfrage dieses Anzeigen lassen. Es wäre zwar keine saubere Lösung, aber würde für unsere Bedürfnisse ausreichen.
 
Werbung:
Leider nicht, ich habe in die Richtung schon so einiges durchprobiert, aber nix hat funktioniert. Ich bin leider auch nicht sehr bewandert in SQL, ich hatte vor Jahren mal einen Kurs an der Uni, da war aber auch nur alles theoretisch. Durch die Datenbank hier habe ich mich bis jetzt größtenteils mit der GUI von Access durchgekämpft.

Ich bin mir nicht sicher, wie ich das ganze staffeln soll, bis jetzt ist es wie folgt, aber da ist ja ein Wiederspruch drin...

Select Projekte.[ID], Projekte.[Projektbezeichnung], Personenverzeichnis.Person, Personenverzeichnis.Person
FROM Personenverzeichnis INNER JOIN Projekte ON
(Personenverzeichnis.ID =Projekte.[Leiter]) AND (Personenverzeichnis.ID = Projekte.[Stellvertreter]);
 
du must 2 mal joinen, in etwa so:

select ... from projekte p left join personenverzeichnis l on p.leiter=l.id left join personenverzeichnis s on p.stellvertreter=s.id

2 mal joinen, der Tabelle personenverzeichnis dabei unterschiedliche Aliase geben (l für Leiter und s für Stellvertreter z.B.) und diese Joins dann auf Projekte.leiter bzw. Projekte.Stellvertreter
 
Werbung:
Vielen Dank erstmal! Ich bekomme noch einen Syntaxfehler, den ich mir noch genauer anschauen muss, aber um den werde ich mich später kümmern müssen.
 
Zurück
Oben