Ja, das nennt sich subselect so lange es komplett in einer Abfrage auf dem Server läuft.
Der Server, der die 2. Abfrage entgegennimmt, wird aber kaum etwas mit FDQuery1, der Delphircomponenten anfangen können. Die kennt er natürlich nicht.
Was funktionieren soll:
Code:
FDQuery2.sql.text := 'Select * from Adressen where Umsatz > 20000 and '+
'ADR_ID in ('Select ADR_ID from A_Adressen where ADR_Land = ''AT'' ')' ;
Am besten das Ganze noch mit Parametern für ADR_LAND.
P.S.:
Jedes "where <feld> in (Select <feld> from <table> [where..])"
kann man auch als Join formulieren:
Code:
-- mit join clause
Select a.*
from Adressen a
join A_Adressen aa
on a.adr_id = aa.adr_id
where a.Umsatz > 20000
and aa.ADR_Land = 'AT'
-- oder
-- mit (altem) join 'Verfahren'
Select a.*
from Adressen a, A_Adressen aa
where a.ADR_ID = aa.ADR_ID
and Umsatz > 20000
and ADR_Land = 'AT'