2013-10-08 4 views
1

Я хочу умножить 4 с количеством ошибок, если faulttype = 'business' и faultseverity = 'fatal', используя запрос, указанный ниже;MySQL Query возвращает строку вместо числового значения

Select faulttype, IF (faulttype='business' AND faultseverity='fatal', 1,0)* 4 FROM tbl_fault WHERE product='DAS' AND faultdistribution='missed' 
group by faulttype 

Я получаю результат бизнес вместо числового значения, что должно быть исправлено в этом запросе?

С уважением

+0

Какой столбец результирующего набора вы пытаетесь получить? Первый по-прежнему является «faulttype», второй - числовым. –

+0

Я хочу получить числовое значение из второго столбца. – MOZ

+1

Да, но вы должны показать нам код, а не запрос. Проблема должна быть там. –

ответ

1

Попробуйте это

Select CASE faulttype WHEN faulttype='business' AND faultseverity='fatal' THEN 1*4 ELSE 0 END AS rez FROM tbl_fault WHERE product='DAS' AND faultdistribution='missed' 
2

попробовать этот

Select faulttype, sum(IF (faulttype='business' AND faultseverity='fatal', 1,0))*4 FROM tbl_fault WHERE product='DAS' AND faultdistribution='missed' 
group by faulttype; 

For reference see the sql fiddle.

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