MySQL Nested IF, CASE, SUM

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • gentillekes
  • Registratie: Juli 2010
  • Laatst online: 17-08-2023
Ik heb een query gemaakt met een aantal velden die berekend worden....

SUM(IF(Artikelregel.artikelregelDienstproductId=1,Artikelregel.artikelregelVerkoop * Artikelregel.artikelregelAantal,0)) AS subtotaal

De output van deze query werkt, echter zijn sommige velden 'NULL'.

De output 'NULL' wil ik omzetten naar 0 (of 0.00) omdat dit een valuta veld moet worden in excel.

De oplossing hiervoor moet volgens mij CASE zijn.. Het uitvoeren van een CASE-statement lukt mij wel, echter niet in dit veld... welk statement moet ik als eerste invullen?

CASE werkt bij mij op deze manier:
CASE gender
WHEN 0 THEN 'Male'
WHEN 1 THEN 'Female'
ELSE NULL
END "geslacht"

Acties:
  • 0 Henk 'm!

  • Spiral
  • Registratie: December 2005
  • Niet online
Wellicht zoek jij naar de Coalesce expressie

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


Acties:
  • 0 Henk 'm!

  • gentillekes
  • Registratie: Juli 2010
  • Laatst online: 17-08-2023
Dan rest mij nog de vraag.. Hoe pas ik die expressie toe? Ik weet hoe ik hem moet uitvoeren in een vooraf ingevuld veld, maar dit is een berekend veld aan de hand van een SUM en geneste IF

edit: welke expressie moet ik als eerste gebruiken?

[ Voor 12% gewijzigd door gentillekes op 29-04-2014 09:35 ]


Acties:
  • 0 Henk 'm!

  • Spiral
  • Registratie: December 2005
  • Niet online
COALESCE(SUM(IF(Artikelregel.artikelregelDienstproductId=1,Artikelregel.artikelregelVerkoop * Artikelregel.artikelregelAantal,0)), 0.00)

of

SUM(COALESCE(IF(Artikelregel.artikelregelDienstproductId=1,Artikelregel.artikelregelVerkoop * Artikelregel.artikelregelAantal,0)), 0.00)

of

SUM(IF(Artikelregel.artikelregelDienstproductId=1,COALESCE(Artikelregel.artikelregelVerkoop * Artikelregel.artikelregelAantal, 0.00),0))

Probeer het eens én probeer te begrijpen hoe COALESCE werkt. Ik heb geen idee wat jij probeert te bereiken en dat wil ik ook niet weten :P :)

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

gentillekes schreef op dinsdag 29 april 2014 @ 09:32:
Dan rest mij nog de vraag.. Hoe pas ik die expressie toe? Ik weet hoe ik hem moet uitvoeren in een vooraf ingevuld veld, maar dit is een berekend veld aan de hand van een SUM en geneste IF

edit: welke expressie moet ik als eerste gebruiken?
Had je al de moeite genomen om überhaupt wat te proberen voordat je die vraag stelde? Zó veel mogelijke opties zijn er natuurlijk niet en je ziet vanzelf wat wel en niet werkt. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.