Autor Zpráva
Prochy
Profil
Zdravim,
chci se zeptat, když používám rozdíl přímo v MySQL:
SELECT cislo-(SELECT SUM(sloupec) FROM .....) FROM ..... WHERE .....
A ten dotaz za znaménkem mínus vyhodí null, tak celý dotaz hodí null, ikdyž by třeba to číslo nabývalo nějaký hodnoty. Tak bych se chtěl zeptat, jak toto vyřešit. Napadlo mě to vytáhnout jako dva dotazy a v php to odečíst, ale zdá se mi, že by to mělo fungovat i přímo v tom MySQL, ale nevim jak tento problém vyřešit.
Když to napíšu zjednodušeně, tak toto vždy vyhodí null:
SELECT 30-Null
A já potřebuju, aby toto vyhodilo 30.
Děkuji za odpověď
Someone
Profil
No tak sloupci nedávej defaultní hodnotu NULL, ale 0
Prochy
Profil
Děkuji za odpověď, ale to mi můj problém nevyřeší, protože se může stát, že ten vnořený select nenajde žádný záznam a hodí to stejně NULL, a já chci, ikdyž ten vnořený select nenajde žádný záznam, tak aby tam pořád byla ta 30.


Tak jsem tedy nakonec našel na internetu příkaz COALESCE, a funguje to, přikládám příklad:
SELECT COALESCE(SUM(0),0)
vrátí mě požadovanou nulu.
Ještě jsem našel následující ale myslím, že ten Coalesce bude lepší:
SELECT SUM (IF (myColumn IS NULL, 0, myColumn)) AS myTotal

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0