2013-11-28 3 views
0

Мой запросигнорировать значения 0 из запроса в MySQL

SELECT cod_material, (sum(cantidad_actual > 0))>1 AS cantidad FROM ingreso_material GROUP BY cod_material ORDER BY cod_material ASC 

мои результаты

cod_material cantidad 
10001 1 
10002 0 
10004 0 
10006 0 
10007 0 
10008 0 
10010 0 
10011 0 
10012 0 
10013 0 
322010001 0 
322030001 0 
322060001 0 
322060002 0 
343310004 1 
391290001 1 
391290002 0 
391290010 1 
395050004 0 
395090003 0 
395090004 0 
395090005 0 
395090010 0 
395090011 0 
395140001 0 
397300013 1 

мне нужно игнорировать cod_material, что имеет значение 0 в cantidad Я хотел бы, чтобы игнорировать значения с 0 как я могу это сделать?

ответ

1

Вы можете сделать это, вставив HAVING cantidad != 0 около конца вашего SQL перед пунктом ORDER BY.

0

@ ответ staticsan правильный! Но по моему мнению, ниже запрос лучше, чем ваш (для удобства чтения). ваш запрос имеет оператор сравнения в части SELECT.

SELECT cod_material, sum(cantidad_actual) AS cantidad 
FROM ingreso_material 
GROUP BY cod_material 
HAVING SUM(candtidad_actual) > 0 
ORDER BY cod_material ASC; 

Ваш исправленный запрос выглядит следующим образом. который выглядит лучше?

SELECT cod_material, (sum(cantidad_actual > 0))>1 AS cantidad 
FROM ingreso_material 
GROUP BY cod_material 
HAVING cantida > 0 
ORDER BY cod_material ASC 

BTW, предполагая, что cod_material имеет только один cantidad_actual, какое значение больше 0, то ваш запрос не может отобразить его. Скажем cantidad_actual есть 10.

  • (сумма (cantidad_actual> 0))> 1
  • SUM (10> 0) = 1
  • (1)> 1 = ложь = 0
Смежные вопросы