Einzelnen Beitrag anzeigen

MCOP2001DE

Registriert seit: 19. Jun 2004
89 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Verschachtelte SQL Abfrage

  Alt 6. Apr 2012, 07:33
Datenbank: SQL Server • Version: 2008 • Zugriff über: ADO
Guten Morgen,

Ich glaube ich Stehe auf dem Schlauch.
Problem:
3 Tabellen
1 Besatzung
Felder Fahrzeug_ID
Personal_ID
Activ
2 Fahrzeug
3 Personal

ich möchte jetzt aus der 1 Tabelle nur die Daten mit einer Ausgewählten Fahrzeug_ID und Active = 1 heraus Filtern.
Es sollen dann nur die Personaldaten von den Personen Angezeigt werden die Der Fahrzeug_ID zugewiesen sind und die den Status Active 1 haben.

folgendes habe ich schon versucht:

Delphi-Quellcode:
var
  Fahrzeug : String;
begin
  try
   Fahrzeug := Dateneingabe.TAB_Fahrzeuge.FieldByName('Fahrzeug_ID').Value;
   with Dateneingabe.QRY_Besatzung do
    begin
      close;
      SQL.Clear;
      SQL.Text := 'SELECT * from Besatzung inner Join Personal on Peronal_ID=Personal_ID where Active=1 and Fahrzeug_ID=:Fahrzeug_ID';
      Parameters.ParamByName('FahrzeugID').Value := Fahrzeug;
      open;
    end;
und

Delphi-Quellcode:
 Fahrzeug : String;
begin
  try
   Fahrzeug := Dateneingabe.TAB_Fahrzeuge.FieldByName('Fahrzeug_ID').Value;
   with Dateneingabe.QRY_Besatzung do
    begin
      close;
      SQL.Clear;
      SQL.Text := 'SELECT Personal.*, Besatzung.*, Besatzung.Fahrzeug_ID AS Expr1, Besatzung.Active AS Expr2 FROM Besatzung CROSS JOIN Personal WHERE (Besatzung.Fahrzeug_ID = Fahrzeug_ID) AND (Besatzung.Active = 1)';
      Parameters.ParamByName('FahrzeugID').Value := Fahrzeug;
      open;
    end;
Bei beiden Abfragen bleibt die Tabelle leer

Kann mir jemand Helfen?

Gruß

Mcop2001de
  Mit Zitat antworten Zitat