Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MS-Access 97: verschachtelte Abfrage

45 views
Skip to first unread message

Joerg Wolf

unread,
Apr 6, 1999, 3:00:00 AM4/6/99
to
Hallo Profis,

ich möchte die folgenden 2 aufeinander aufbauenden Abfragen in einer
einzigen SQL-Anweisung formulieren:

Abfrage1: select * from tab1 where tab1.feld1 = "Text"

Abfrage2: select * from tab2 left join abfrage1 on tab2.feld2=abfrage1.feld2

Wer weiß, wie es geht?

Schönen Dank im Voraus

J. Wolf

Michael Steinboeck

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
Joerg Wolf schrieb in Nachricht <370a6...@195.143.56.1>...
:ich möchte die folgenden 2 aufeinander aufbauenden Abfragen in einer

:einzigen SQL-Anweisung formulieren:
:
:Abfrage1: select * from tab1 where tab1.feld1 = "Text"
:
:Abfrage2: select * from tab2 left join abfrage1 on
tab2.feld2=abfrage1.feld2


Erstmal: es gibt die Möglichkeit, zwei Querys in einem Statement zu
plazieren - aber ich hab es vergessen. Vielleicht geht es auch nur mit VBA
und nicht in der SQL ansicht, oder nur bei aktualisierungsabfragen ....
sicher ist, daß es in der Hilfe angeführt ist, dort hab ich so etwas
gelesen.

Wenn die beiden Abfrage dieselben Felder (nicht unbedingt dieselben
Feldnamen) produzieren kannst Du einfach das Wort "union" dazwischensetzen.
Die Feldnamen kommen dann aus der ersten Abfrage.

Ansonsten könntest Du eine zweite Abfrage machen, die als Datenquelle die
erste Abfrage verwendet, und diese (nur diese) ausführen. Die erste Abfrage
wird dann automatisch durchgeführt.

Michael Steinboeck, Microsoft MVP - Access
http://www.steinboeck.com/download/freeaccess.htm


Kurt Grof

unread,
Apr 12, 1999, 3:00:00 AM4/12/99
to
Joerg Wolf schrieb:

>
> ich möchte die folgenden 2 aufeinander aufbauenden Abfragen in einer
> einzigen SQL-Anweisung formulieren:
>
> Abfrage1: select * from tab1 where tab1.feld1 = "Text"
>
> Abfrage2: select * from tab2 left join abfrage1 on tab2.feld2=abfrage1.feld2

Ohne es getestet zu haben, und unter der Annahme, dass es in tab1
ein feld gibt, das einen eindeutigen Schlüssel darstellt:

select * from tab2 left join tab1 on tab2.feld2=tab1.feld2
where tab1.feld1 = "Text" or tab1.Eindeutiger_Schluessel is null;

Gf.

0 new messages