Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Упростить небольшой запрос  [new]
Yokka
Member

Откуда:
Сообщений: 12
Допустим есть таблица tabl в которой есть поле type b и оно может принимать значение 1 или 2. В этой таблице уже есть некоторое количество записей и нада добавить еще одно при условии, что будет добавлено 2 если количество записей при котором type=1 будет больше чем количество записей type=2.
Вот запрос
insert into tabl(type) select case when (select count(type) from tabl where type=1)>(select count(type) from tabl where type=2) then 2 else 1 end

Как написать эту проверку одним подзапросом, а не двумя?
10 май 13, 19:01    [14279784]     Ответить | Цитировать Сообщить модератору
 Re: Упростить небольшой запрос  [new]
qwerty112
Guest
when (select sum(case when type=1 then 1 when type=2 then -1 end) from tabl) > 0
10 май 13, 19:06    [14279798]     Ответить | Цитировать Сообщить модератору
 Re: Упростить небольшой запрос  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22550
cros apply (select sum(case when type = 1 then 1 else 0 end) type1_count, sum(case when type = 2 then 1 else 0 end) type2_count...
10 май 13, 19:08    [14279805]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить