if else in SELECT
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.
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.
Heren bedankt voor de snelle reactie. Ik heb de optie van Jespur geprobeerd en die werkte gelijk. Helemaal super!
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!
1
100
2
200
3
4
5
66
7
En niet als nummers. Is hier ook een manier voor omdit te fixen?
Alvast bedankt!
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`,
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




