2010-11-11 3 views
0

У меня есть запрос, который имеет оператор выбора, который содержит следующее:SQL COUNT конкретный блок IF другое поле <> 0

,COUNT(u.[Unit]) 
,up.[Number_Of_Stops] 

мне нужно рассчитывать только единицы, где количество остановок <> 0. Это имеет более подробные сведения в запросе, поэтому я не могу просто сказать WHERE number_of_stops <> 0. Он должен находиться внутри оператора select.

Благодаря

ответ

3

Try:

SUM(CASE WHEN up.[Number_Of_Stops] != 0 THEN 1 ELSE 0 END) AS countWhereNumStopsNotZero 

(Edit: оригинальный ответ сказал "COUNT", а не "SUM")

+0

Совершенных. Благодаря! – user380432

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