Ich habe eine Abfrage innerhalb einer gespeicherten Prozedur, die einige Werte in einer Tabelle fasst gefunden:Null zurück, wenn keine Aufzeichnung
SELECT SUM(columnA) FROM my_table WHERE columnB = 1 INTO res;
Nach dieser Auswahl I res
Wert mit einer ganzen Zahl durch eine andere Abfrage abgerufen subtrahieren und kehren die Ergebnis. Wenn WHERE
Klausel verifiziert wird, funktioniert alles einwandfrei. Aber wenn das nicht der Fall ist, ist meine ganze Funktion eine leere Spalte (vielleicht weil ich versuche, eine ganze Zahl mit einem leeren Wert zu subtrahieren).
Wie kann ich meine Abfrage Null zurückgeben, wenn die WHERE
Klausel nicht erfüllt ist?
'IN var' angefügt SELECT ...' ist nur gültig in PL/pgSQL-Code, nicht in einfacher SQL . Ich nehme an, das ist Teil einer PL/pgSQL-Funktion oder "DO" -Anweisung. Richtig? –