Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вывести счётчики в одну строку  [new]
ЭтоОпятьЯ
Guest
Есть таблица, в которой записи промаркированы как красные, синие и зелёные (условно). И есть софтина (не моя, исходники не доступны), которая жрёт на вход только одну строку данных. Надо как то вывести в одну строчку общее количество записей, количество красных синих и зелёных (итого четыре поля). Мой текущий вариант - создать 4 переменных и 4 селекта, а потом выводить их. Можно ли сделать лучше (желательно одним запросом) ?

Если вопрос ламерский простите великодушно, SQL вообще не мой профиль, дальше простых селектов я с ним не знаком :(
25 сен 09, 15:27    [7708971]     Ответить | Цитировать Сообщить модератору
 Re: Вывести счётчики в одну строку  [new]
Glory
Member

Откуда:
Сообщений: 104760
Нужно использоватьт CASE ...END
25 сен 09, 15:30    [7708991]     Ответить | Цитировать Сообщить модератору
 Re: Вывести счётчики в одну строку  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
case , NTILE(4), DENSE_RANK()  

вообщем использование любого подхода даст всев 1 селект
-------------------------------------
Jedem Das Seine
25 сен 09, 15:31    [7709007]     Ответить | Цитировать Сообщить модератору
 Re: Вывести счётчики в одну строку  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
select
    sum(case when Color='красный' then 1 else 0 end) as RedSumm,
    sum(case when Color='синий' then 1 else 0 end) as BlueSumm,
from OtkudaNado
25 сен 09, 15:34    [7709027]     Ответить | Цитировать Сообщить модератору
 Re: Вывести счётчики в одну строку  [new]
ЭтоОпятьЯ
Guest
Спасибо!
25 сен 09, 15:41    [7709087]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить