![]() |
Datenbank: SQL Server • Version: 2008 • Zugriff über: ADO
Verschachtelte SQL Abfrage
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:
und
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;
Delphi-Quellcode:
Bei beiden Abfragen bleibt die Tabelle leer
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; Kann mir jemand Helfen? Gruß Mcop2001de |
AW: Verschachtelte SQL Abfrage
Peronal_ID=Personal_ID muss eigentlich immer True ergeben
und hier Parameters.ParamByName('FahrzeugID').Value := Fahrzeug; passt der Name nicht zur Deklaration Fahrzeug_ID=:Fahrzeug_ID so sollte es gehen, wenn die Spalten so heißen wie ich es verstanden habe
Code:
Select p.*
from Besatzung b Join Fahrzeug f on f.Fahrzeug_ID = b. Fahrzeug_ID Join Personal p on p.Personal_ID = b.Personal_ID Where b.Active=1 and b.Fahrzeug_ID=:FahrzeugID
Delphi-Quellcode:
Parameters.ParamByName('FahrzeugID').Value := Fahrzeug;
|
AW: Verschachtelte SQL Abfrage
Danke für die schnelle Antwort.
jetzt Funktioniert es auch Danke:-D Mcop2001de |
AW: Verschachtelte SQL Abfrage
Beim Zweiten fehlt irgendwie der : bei Fahrzeug_ID.
|
AW: Verschachtelte SQL Abfrage
Nö, da ist nur ein Leerzeichen zuviel.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz