0
У меня есть этот код, который при запуске должен возвращать подсчет общего количества Таксисные отелей и еда:Использование Sum на количество строк в SQL
SELECT
COUNT(CASE WHEN [TaxiHotelFood] LIKE '%Taxi%' THEN 1 END) AS "Taxis",
COUNT(CASE WHEN [TaxiHotelFood] LIKE '%Hotel%' THEN 1 END) AS "Hotel",
COUNT(CASE WHEN [TaxiHotelFood] LIKE '%Taxi%' THEN 1 END) AS "Food"
FROM [CSART].[dbo].[tblPatAdmission]
WHERE (TaxiHotelFood != '' AND TaxiHotelFood IS NOT NULL)
GROUP BY TaxiHotelFood
Вместо того, что она возвращает это:
Taxis Hotel Food
0 2 0
1 1 1
Он не добавляет счетчики, если содержимое поля не идентично. Есть ли простой способ исправить это?
Можете ли вы предоставить образцы данных и ожидаемые результаты? Я не вижу ничего плохого в вашем запросе. Когда вы говорите 'add counts', вы имеете в виду, что вам нужна только одна строка в качестве результата (1, 3, 1)? Если это так, отбросьте 'group by ... – sgeddes
Ничего себе, это не должно было занять меня больше часа, чтобы понять это. Спасибо, сейчас работает. – user1834616
Вы заметили, что второй «% Taxi%» должен быть «% Food%»? –