Member 11753671 Ответов: 1

Как получить значение count 0 для данного запроса?


Нужно подсчитать значение 0 также для приведенного ниже запроса.



выберите COUNT(*) как cnt,случай, когда t.iStage='1', а затем 'Form 1'
когда t.iStage='2', то "форма 2"
когда T.iStage='3', затем 'форма 3'
когда t.iStage='4', то "форма 4"
когда t.iStage='5', то "форма 5"
когда t.iStage в(-3,0), то "форма 6"
конечное состояние из temp_barfinder t внутреннее соединение temp_dm m на t.cBarCode=m.cid
где t.RowNumber='1' и m.[Type]='1' и t.iStage in(1,2,3,4,5,-3-0)
группа по t.iStage

Что я уже пробовал:

Я попробовал ниже запрос, но не получил значение count 0, если в Tbale нет значения для istage



выберите COUNT(*) как cnt,случай, когда t.iStage='1', а затем 'Form 1'
когда t.iStage='2', то "форма 2"
когда T.iStage='3', затем 'форма 3'
когда t.iStage='4', то "форма 4"
когда t.iStage='5', то "форма 5"
когда t.iStage в(-3,0), то "форма 6"
конечное состояние из temp_barfinder t внутреннее соединение temp_dm m на t.cBarCode=m.cid
где t.RowNumber='1' и m.[Type]='1' и t.iStage in(1,2,3,4,5,-3-0)
группа по t.iStage

1 Ответов

Рейтинг:
0

Maciej Los

Прежде всего, проверьте это:

SELECT t.iStage, COUNT(*) as cnt
FROM temp_barfinder t 
    inner join temp_dm m on t.cBarCode=m.cid
WHERE t.RowNumber=1 and m.[Type]=1


[РЕДАКТИРОВАТЬ]
Цитата:
Я не собираюсь считать нулевой для istage 2

Итак, вы должны изменить тип соединения и предоставить способ прохождения value != null к СЧИТАТЬ[^] функция.
SELECT t.iStage, COUNT(COALESCE(m.cid, 0)) as cnt
FROM temp_barfinder t 
    LEFT JOIN temp_dm m on t.cBarCode=m.cid
WHERE t.RowNumber=1 and m.[Type]=1


Для получения более подробной информации, пожалуйста, смотрите:
COALESCE (Transact-SQL) | Microsoft Docs[^]
Визуальное представление SQL-соединений[^]


Member 11753671

Спасибо за ответ, но я не получаю нулевое значение счета, используя этот запрос.

ниже приведен результат, который я получаю

iStage cnt
0 35
-2 79
3 46
6 11
1 293
4 83
-3 26
5 25


я хочу ниже выходного:
iStage cnt
2 0
0 35
-2 79
3 46
6 11
1 293
4 83
-3 26
5 25

Member 11753671

Я не собираюсь считать нулевой для istage 2

Maciej Los

Хорошо, я улучшу свой ответ. Пожалуйста, подождите минутку.
[РЕДАКТИРОВАТЬ]
Готово!

Member 11753671

Огромное спасибо!..

Maciej Los

Всегда пожалуйста.

Member 11753671

Теперь все работает нормально

Maciej Los

Отлично!
Можете ли вы принять мой ответ как решение(зеленая кнопка) - формально удалить свой вопрос из списка без ответа.
Овации,
Мацей