를 사용하여 SQL 표준 CASE 표현 :
쿼리
SELECT routines.date, routines.time,
SUM(IF(measurements.title = 'T_Temperatur', CAST(REPLACE(routines.value, ',', '.') AS DECIMAL(18, 2)), null)) AS Temperatur
FROM routines
INNER JOIN measure_routine ON routines.id = measure_routine.routine_id
INNER JOIN measurements ON measure_routine.measure_id = measurements.id
INNER JOIN pools ON measure_routine.pool_id = pools.id
GROUP BY routines.date, routines.time
ORDER BY routines.date, routines.time;
MySQL의 결과 -이 경우 (합계입니다.
SELECT routines.date, routines.time,
SUM(CASE WHEN measurements.title = 'T_Temperatur' THEN CAST(REPLACE(routines.value, ',', '.') AS DECIMAL(18, 2)) ELSE NULL END) AS Temperatur
FROM routines
INNER JOIN measure_routine ON routines.id = measure_routine.routine_id
INNER JOIN measurements ON measure_routine.measure_id = measurements.id
INNER JOIN pools ON measure_routine.pool_id = pools.id
GROUP BY routines.date, routines.time
ORDER BY routines.date, routines.time;
'IF'가 유효하지 않습니다. 'CASE' 문을 살펴볼 수도 있습니다. – Zane