2013-12-05 3 views
0

Как сделать «нулевые» данные представленными как 0 вместо «null»? См запрос ниже и скриншот :)SQL Query имеет 0 вместо 'null'

SELECT Supervisor, 
SUM(CASE WHEN DAYOFWEEK(workdate) = 2 THEN (case when employeehours.paycode = '01 Ordinary' then (employeehours.employeehours * `base rate`) end) END) `Monday`, 
SUM(CASE WHEN DAYOFWEEK(workdate) = 3 THEN (case when employeehours.paycode = '01 Ordinary' then (employeehours.employeehours * `base rate`) end) END) `Tuesday`, 
SUM(CASE WHEN DAYOFWEEK(workdate) = 4 THEN (case when employeehours.paycode = '01 Ordinary' then (employeehours.employeehours * `base rate`) end) END) `Wednesday`, 
SUM(CASE WHEN DAYOFWEEK(workdate) = 5 THEN (case when employeehours.paycode = '01 Ordinary' then (employeehours.employeehours * `base rate`) end) END) `Thursday`, 
SUM(CASE WHEN DAYOFWEEK(workdate) = 6 THEN (case when employeehours.paycode = '01 Ordinary' then (employeehours.employeehours * `base rate`) end) END) `Friday`, 
SUM(CASE WHEN DAYOFWEEK(workdate) = 7 THEN (case when employeehours.paycode = '01 Ordinary' then (employeehours.employeehours * `base rate`) end) END) `Saturday` 
JOIN payroll.employeehours ON employeedatanew_copy.`ID Number` = employeehours.employeeid 
WHERE employeehours.workdate BETWEEN '$staticstart' AND '$staticfinish' 
GROUP BY supervisor 

enter image description here

+1

Используйте [ 'IFNULL()'] (http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_ifnull) функция. –

+0

нравится? не работает .... \t \t \t \t \t \t \t \t \t СУММА (случай, когда DAYOFWEEK (workdate) = 2 ТОГДА (случай, когда employeehours.paycode = '02 Сверхурочное 1.5' , затем (IFNULL (ЕСЛИ ('Другой Rate' = 0, (employeehours.employeehours * 'Base Rate'), (employeehours.employeehours *' Other Rate')), 0)) end) END) 'Monday', – atomapps

+0

получил! \t \t IFNULL (SUM (CASE WHEN DAYOFWEEK (workdate) = 2 THEN (CASE WHEN employeehours.paycode = '02 Overtime 1.5 'then (IF ('Other Rate' = 0, (employeehours.employeehours *' Base Rate'), (employeehours.employeehours * 'Other Rate'))) end) END), 0)' Monday', – atomapps

ответ

2

Используйте COALESCE()

Возвращает первое ненулевое значение в списке, или NULL, если нет ненулевых значений.

COALESCE(employeehours.employeehours * `base rate`, 0) 
+0

это полезно для меня в будущем, но не в этом случае, поскольку я ищу, чтобы избавиться от нулей, спасибо в любом случае! – atomapps

Смежные вопросы