![]() |
Datenbank: Access • Version: 2003 • Zugriff über: ADO
Verschachtelte SQL Abfrage
Hallo,
kann mir jemand mal ein Beispiel liefern wie ich mit einer verschachtelten Select Abfrage die aus 2 Select Anweisungen besteht ein Query erzeugen kann? Habe hier im Forum noch nicht das richtige dazu gefunden, danke. Gruß Markos |
Re: Verschachtelte SQL Abfrage
Dazu muß die "verschachtelte" SQL-Anweisung erst mal gezeigt werden.
|
Re: Verschachtelte SQL Abfrage
Was meinst du?
Subselect?
SQL-Code:
Union?
select name from tabelle1 where id in (select taba from tabelle2);
SQL-Code:
select * from tabelle 1 union select * from tabelle2;
|
Re: Verschachtelte SQL Abfrage
@mkinzler
Ich möchte gerne den Between Teil in eine Subselect packen, weil so die Abfrage nicht funktioniert. Er fragt buchung.abreise nach dem OR nicht ab und dachte vielleicht funktioniert es wenn man die 2te Between Abfrage in ein Subselect packt, oder wie müsste die Select Abfrage richtig lauten? Danke für Deine Hilfe!
Delphi-Quellcode:
SQL.Text:=
'SELECT buchung.oid, buchung.wid, buchung.anreise, buchung.abreise, buchung.GID, wohnungen.wid, wohnungen.wnr, wohnungen.wname, adressen.gid,'+#13#10+ 'objekte.oid, objekte.objname, objekte.objnr'+#13#10+ 'FROM buchung, adressen, wohnungen, objekte'+#13#10+ 'WHERE Buchung.gid = adressen.gid '+#13#10+ 'AND Buchung.wid = wohnungen.wid'+#13#10+ 'AND Buchung.oid = objekte.oid '+#13#10+ 'AND (buchung.wid = :wohnung1) AND (buchung.oid = :objekt1)'+#13#10+ 'AND ((buchung.anreise BETWEEN :datevon1 AND :datebis1)'+#13#10+ 'OR (buchung.abreise BETWEEN :datevon1 AND :datebis1))'+#13#10+ 'ORDER BY buchung.anreise, adressen.name'; with Parameters do begin ParamValues['datevon1'] :=PlannerDatePicker21.Date; ParamValues['datebis1'] :=PlannerDatePicker22.Date; ParamValues['objekt1'] :=oid_zusatz; ParamValues['wohnung1'] :=wid_zusatz; end; |
Re: Verschachtelte SQL Abfrage
Delphi-Quellcode:
hilft dir das weiter?
aqTmp.SQL.Add('SELECT a.stil, a.raum, a.brett, a.bild, b.brett_bez, b.id_adam FROM showroom a' +
' INNER JOIN adam_brett b' + ' ON a.brett = b.brett_bez' + ' WHERE (a.stil = :Param) AND (a.raum = :Param2) AND (b.id_adam = :Param3)'); aqTmp.Parameters.ParamByName('Param').Value := s_einrichtungsstil; aqTmp.Parameters.ParamByName('Param2').Value := s_raum; aqTmp.Parameters.ParamByName('Param3').Value := s_brett; |
Re: Verschachtelte SQL Abfrage
@mewlos26: Probier erstmal
SQL-Code:
Natürlich mit entsprechendem Datum und am Besten in Access selbst. Wenn Du dann die richtigen Buchungen rausfilterst, dann kannst Du dir dein Select zusammenbasteln, wobei ich die veraltete Schreibweise:
select *
from buchung where buchung.anreise between <Datum1> and <Datum2> or Buchung.abreise between <datum1> and <datum2>
SQL-Code:
nicht nehmen würde, sondern die offizielle JOIN-Schreibweise.
select * from Tabelle1, Tabelle2... where Tabelle1.ID = Tabelle2.Link ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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