Vreau să întreb un tabel de comenzi și să arăt codul clientului și totalul tuturor comenzilor sale, cu toate acestea comenzile pot avea totaluri pozitive sau negative.
select customer_id, SUM(order_total) from orders group by customer_id;
Acum întrebare - cum pot realiza următoarele într-o interogare sql:
Dacă suma totală este pozitivă, vreau să o afișez așa cum este; dacă suma totală este negativă, vreau doar să afișez 0 în schimb suma reală.
Ceea ce caut este o funcție care poate gestiona acest lucru, similar cu funcția IFNULL
( IFNULL (SUM (order_total), 0)
), dar în loc să verifice dacă este nul, ar trebui să verifice dacă există un rezultat negativ.
Pseudo cod:
IFNEGATIVE(SUM(order_total),0)
Există un mod simplu în sql standard (sau în special în Mysql 5.5, ar fi, de asemenea, ok).