if else in SELECT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jaap

jaap

19/10/2009 20:54:00
Quote Anchor link
Ik heb een sql vraagje. Ik heb een query waarmee ik in de select een query uitvoer. De subquery is: (`Target_Q4`-(SELECT SUM(Price_total) FROM ".$config_tabel."omzet WHERE PartnerID = P.PartnerID GROUP BY PartnerID)) AS `to_do`,

Maar nu komt het voor dat er bij `to_do` geen resultaat komt, dus eigenlijk''. Als het leeg is wil ik dit vervangen door de waarde van veld Target_Q4. Ik kan dit natuurlijk makkelijk met php doen maar het liefst wil ik dit in de query doen zodat ik er ook op kan sorteren.
 
PHP hulp

PHP hulp

24/11/2024 00:24:14
 
Jesper Diovo

Jesper Diovo

19/10/2009 20:59:00
 
Jan Koehoorn

Jan Koehoorn

19/10/2009 21:02:00
Quote Anchor link
SELECT IF(logische_test,alswaar,alsnietwaar) AS resultaat
 
Jaap

jaap

19/10/2009 21:24:00
Quote Anchor link
Heren bedankt voor de snelle reactie. Ik heb de optie van Jespur geprobeerd en die werkte gelijk. Helemaal super!
 
Jaap

jaap

20/10/2009 09:21:00
Quote Anchor link
Even een vervolg vraag waar ik nu tegenaan loop. Na het samenvoegen ziet mysql het denk ik als een string. En als ik het sorteer gaat hij de getallen sorteren als:
1
100
2
200
3
4
5
66
7

En niet als nummers. Is hier ook een manier voor omdit te fixen?

Alvast bedankt!
 
Pieter van Linschoten

Pieter van Linschoten

20/10/2009 09:34:00
Quote Anchor link
Ja, je moet je veld instellen als INT en niet als VARCHAR.
 
Jaap

jaap

20/10/2009 10:31:00
Quote Anchor link
Ja dat snap ik. Beide velden zijn decimals:

case WHEN (100/((P.Target_Q4/13)* ((".date("W")."-1)-".$q_start."))*(SELECT SUM(Price_total) FROM ".$config_tabel."omzet WHERE PartnerID = P.PartnerID AND ".$sql_q." GROUP BY PartnerID))-100!= '' THEN ((100/((P.Target_Q4/13)* ((".date("W")."-1)-".$q_start."))*(SELECT SUM(Price_total) FROM ".$config_tabel."omzet WHERE PartnerID = P.PartnerID AND ".$sql_q." GROUP BY PartnerID))-100) ELSE '-100' END AS `Performance`,
Gewijzigd op 01/01/1970 01:00:00 door jaap
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.