"Zusammengeklickt und lässt sich nicht durch Subquery oder ><=... zu erschlagen" ist immer relativ.
Delphi-Quellcode:
Pseudocode Delphi:
var selectedIDs:TList<derIdTyp> := TList<derIdTyp>.create;
for i:=0
to LangeAuswahlliste.items.count -1
do begin
if LangeAuswahlliste[i].checked
then selectedIDs.add(LangeAuswahlliste[i].id);
end;
// SQL für InnerSelect TEMP Table
SQL_AufbereitungInnerSelect := '
';
for id
in selectedIDs
do begin
SQL_AufbereitungInnerSelect := SQL_AufbereitungInnerSelect + '
Insert into #SelectedIDs (ID) Values(''
'+id.ToString+'
''
)' +#13#10;
end;
// SQL Datenabruf
SQL_Datenabruf :=
'
BeginTransaction; ' +#13#10+
SQL_AufbereitungInnerSelect +
'
SELECT * FROM Tabelle T WHERE T.ID IN (SELECT ID FROM #SelectedIDs)'; +#13#10+
'
EndTransaction; ' +#13#10+
Über eine em
SQL Server angelegte Stored Procedure kann man das Ganze noch weiter tunen ...