if else in SELECT
jaap
19/10/2009 20:54:00Ik 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.
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
24/11/2024 00:24:14Jesper Diovo
19/10/2009 20:59:00Jan Koehoorn
19/10/2009 21:02:00jaap
19/10/2009 21:24:00Heren bedankt voor de snelle reactie. Ik heb de optie van Jespur geprobeerd en die werkte gelijk. Helemaal super!
jaap
20/10/2009 09:21:00Even 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!
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
20/10/2009 09:34:00jaap
20/10/2009 10:31:00Ja 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`,
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