SQL-Statement - Bezug auf Werte von Fremschlüsseln

Orothred

Grünschnabel
Guten Tag zusammen....mich plagt da ein Problem.

Ich schreibe ein C#-Anwendung, die eine Datenbankanbindung hat....

Folgende Tabellen sind u.a. in der Datenbank:

Anforderung:
ID (Primärschlüssel)
SecID
Planzeit
Gestellungstyp (Fremdschlüssel, bezogen auf Tabelle "Gestellungstyp")
Lademeter
Anforderer
Fertigungsprogramm (Fremdschlüssel, bezogen auf Tabelle "Fertigungsprogramm")
Gefahrgut
Selbstabholer
Kommentar


Gestellungstyp:
ID (Primärschlüssel)
Gestellungstyp
Lademeter


Fertigungsprogramm:
ID (Primärschlüssel)
Fertigungsprogramm


so, folgendes Problem hab ich jetzt....möchte ein DataGrid in meinem Programm mit den Werten aus der Tabelle Anforderung füllen. Natürlich soll jetzt bei Gestellungstyp bzw. Fertigungsprogramm nicht die ID des Typs bzw. des Programms stehen, sondern der Name, der in den beiden verknüpften Tabellen steht....

Bin am probieren und probieren, aber komm einfach nicht drauf wie man das auslesen könnte....wer kann mir helfen?
 
Das kannst Du mit Joins machen:

Code:
Select A.*, G.Gestellungstyp, F.Fertigungsprogramm
  From Anforderung As A
  Left Join Gestellungstyp As G on G.Id=A.Gestellungstyp
  Left Join Fertigungsprogramm As F on F.Id=A.Fertigungsprogramm

Je nach Datenbank (Du schreibst leider nicht, mit welcher DB Du arbeitest, könnte das Setzen von Klammern erforderlich sein. Dazu solltest Du die Hilfe-Funktion Deiner Datenbank zu Rate ziehen.
 
Danke soweit....ich benutze SQL Server 2005....

Allerdings bringt mir diese Abfrage immernoch die ID´s von Gestellungstyp und Fertigungsprogramm, nicht die Bezeichnungen...

Das wird aber wohl eher nicht an der Klammersetzung liegen, oder?
 
Zuletzt bearbeitet:
Klammern deshalb weil ronaldh meinte das ich eventuell noch klammern setzen müsste....

und aliase sind ja schon gesetzt, wie du oben im statement siehst....
 
Hi,

Aliase sind nur für die Tabellen gesetzt, nicht für die beiden Spalten. Alternativ könntest Du mal ausprobieren, das A.* durch eine Liste der gewünschten Felder aus A zu ersetzen, bei der Du Gestellungstyp und Fertigungsprogramm natürlich weglässt.

LG
 
Zurück