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 mewlos26 · begonnen am 12. Apr 2006 · letzter Beitrag vom 12. Apr 2006
Antwort Antwort
mewlos26

Registriert seit: 17. Okt 2005
13 Beiträge
 
Delphi 7 Professional
 
#1

Verschachtelte SQL Abfrage

  Alt 12. Apr 2006, 00:06
Datenbank: Access • Version: 2003 • Zugriff über: ADO
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
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Verschachtelte SQL Abfrage

  Alt 12. Apr 2006, 02:33
Dazu muß die "verschachtelte" SQL-Anweisung erst mal gezeigt werden.
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Verschachtelte SQL Abfrage

  Alt 12. Apr 2006, 05:50
Was meinst du?
Subselect?
select name from tabelle1 where id in (select taba from tabelle2); Union?
select * from tabelle 1 union select * from tabelle2;
Markus Kinzler
  Mit Zitat antworten Zitat
mewlos26

Registriert seit: 17. Okt 2005
13 Beiträge
 
Delphi 7 Professional
 
#4

Re: Verschachtelte SQL Abfrage

  Alt 12. Apr 2006, 07:39
@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;
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#5

Re: Verschachtelte SQL Abfrage

  Alt 12. Apr 2006, 09:06
Delphi-Quellcode:
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;
hilft dir das weiter?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Verschachtelte SQL Abfrage

  Alt 12. Apr 2006, 10:19
@mewlos26: Probier erstmal
SQL-Code:
select *
  from buchung
 where buchung.anreise between <Datum1> and <Datum2>
    or Buchung.abreise between <datum1> and <datum2>
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 Tabelle1, Tabelle2... where Tabelle1.ID = Tabelle2.Link ... nicht nehmen würde, sondern die offizielle JOIN-Schreibweise.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 07:09 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