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