Hallo zusammen,
ich benötige mal einen Denkanstoß: Ich habe ein Array, dessen Inhalt in die WHERE - Clause eines
SQL wandert. Danach möchte ich die Ergebnismenge mit dem Ausgangsarry vergleichen. Damit will ich feststellen, welche Werte des Array
nicht im Ergebnis des
SQL enthalten ist/sind.
Beispiel:
Delphi-Quellcode:
a[1] := 'Peter';
a[2] := 'Klaus';
a[3] := 'Paul';
a[4] := 'Theo';
a[5] := 'Bernd';
Daraus folgt die
SQL Abfrage:
Code:
SELECT
NAME
,COUNT(*) AS Anz
FROM
Tabelle
WHERE
NAME IN ('Peter', 'Klaus', 'Paul', 'Theo', 'Bernd')
GROUP BY
NAME
ORDER BY
Anz ASC
Die Ergebnismenge soll mal sein:
NAME, Anz
Klaus, 10
Bernd, 8
Peter, 5
Theo, 5
Klar ist jetzt: Ich suche 'Paul', weil er in der Ergebnismenge nicht vorhanden ist.
So, nun könnte ich Zeile 1 der
DB nehmen und mit einer Schleife durch das Array laufen und fragen: Tabelle.Name = a[i] und entsprechend handeln.
So, nun könnte ich Zeile 2 der
DB nehmen und mit einer Schleife durch das Array laufen und fragen: Tabelle.Name = a[i] und entsprechend handeln.
So, nun könnte ich Zeile 3 der
DB nehmen und mit einer Schleife durch das Array laufen und fragen: Tabelle.Name = a[i] und entsprechend handeln.
Und hier frage ich mich, ob das auch eleganter zu lösen ist oder seht Ihr einen anderen Weg diesen Abgleich durchzuführen?
Danke für Tipps!
Beste Grüße