Ich würde die PrimärSchlüssel der selektierten Datensätze in einen String packen mit Klammern drum. Nenn den jetzt mal "Auswahl".
Dann einer neuen / oder ruhig auch der alten
Query das neue
SQL-Statement zuweisen
Query1.SQL.Text:='Select * From Ursprungstabelle u'
Query1.SQL.Text:='Left Join bla b on blabla'
Query1.SQL.Text:='Left Join blub bl on blubblub'
.
.
.
Query1.SQL.Text:='where u.ID in ('+Auswahl+')'