AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Verschachtelte SQL Abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Verschachtelte SQL Abfrage

Ein Thema von MCOP2001DE · begonnen am 6. Apr 2012 · letzter Beitrag vom 6. Apr 2012
Antwort Antwort
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
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Verschachtelte SQL Abfrage

  Alt 6. Apr 2012, 07:59
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
Parameters.ParamByName('FahrzeugID').Value := Fahrzeug;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
MCOP2001DE

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

AW: Verschachtelte SQL Abfrage

  Alt 6. Apr 2012, 10:27
Danke für die schnelle Antwort.

jetzt Funktioniert es auch Danke

Mcop2001de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Verschachtelte SQL Abfrage

  Alt 6. Apr 2012, 10:55
Beim Zweiten fehlt irgendwie der : bei Fahrzeug_ID.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 6. Apr 2012 um 11:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Verschachtelte SQL Abfrage

  Alt 6. Apr 2012, 12:09
Nö, da ist nur ein Leerzeichen zuviel.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz