PDA

View Full Version : SQL Ergebnisse zählen



Domeus
29-01-19, 11:42
Hallo,

habe eine Frage zu SQL:

Folgender Befehl:

SELECT fldname INTO :sqlkey FROM nleir WHERE "ID" = :i_id
GROUP BY fldname HAVING COUNT(*) = (SELECT
COUNT(DISTINCT file) FROM nleir WHERE "ID" = :i_id);

Dieser Befehl gibt mir im Normalfall nur einen einzelnen Wert zurück. Zum Beispiel: "AAAA"

Falls aber vom Benutzer falsche Angaben gemacht wurden kann es auch sein, dass hier zB zwei Werte: "AAAA" und "BBBB" ausgegeben werden. Da das Ergebnis in eine Variable -> "sqlkey" geschrieben wird kann ich das aber nicht erkennen, da im Fehlerfall erst "AAAA" in die Variable geschrieben wird und direkt danach "BBBB" darüber. Daher dachte ich mir ich Frage vorher ab wieviele Ergebnisse dieser SQL Befehl hat. Bei Ergebnis <> 1 könnte ich dann mit Fehler abbrechen.

Nur wie ermittel ich wieviele Ergebnisse der Befehl oben hat? Bekomme es einfach nicht hin. Aus dem ersten "fldname" ein "count(fldname) machen klappt nicht.


Gruß
Sebastian

BenderD
29-01-19, 12:15
... select into liefert einen negativen SQLCODE, wenn mehr als ein Satz zurückkommt, da wird nix überschrieben!!!

D*B

Domeus
29-01-19, 12:52
Oh ok. Auf den SQLCODE habe ich diesmal nicht geachtet. Vielen Dank für die Antwort.