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

Откуда: оттуда
Сообщений: 3149
 SELECT A,B, C, D, E, 
case 
	when F in (select FF1 FROM TBL1) then (select FF2 from TBL2) -- первое значение можно
	else F 
end as F , 

sum(isnull(S,0)) as S 
from TBL_SUM 
GROUP BY A,B, C, D, E, 
case 
	when F in (select FF1 FROM TBL1) then (select FF2 from TBL2)	
else F 
end as F 


Возможен ли подобный case в GROUP BY ?
25 фев 15, 12:39    [17309525]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли подобный case в GROUP BY ?  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
karamba85,

как минимум, в GROUP BY алиасы присваиваться не могут
25 фев 15, 12:41    [17309547]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли подобный case в GROUP BY ?  [new]
_human
Member

Откуда:
Сообщений: 569
karamba85,

сделать group by к подзапросу

select A,B, C, D, E, F, sum(isnull(S,0)) as s
from
	(	SELECT A,B, C, D, E, 
	case 
		when F in (select FF1 FROM TBL1) then (select FF2 from TBL2) -- первое значение можно
		else F 
	end as F , 

	isnull(S,0) as S 
	from TBL_SUM 
	) sub_q
group by A,B, C, D, E, F
25 фев 15, 13:06    [17309757]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли подобный case в GROUP BY ?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
karamba85,

Сделайте сначала запрос с вашим мегавыражением, а потом оберните его в подзапрос и на результате сделайте группировку.
25 фев 15, 13:10    [17309788]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли подобный case в GROUP BY ?  [new]
karamba85
Member

Откуда: оттуда
Сообщений: 3149
_human,

Спасибо. Я думал, что можно покороче написать
25 фев 15, 13:11    [17309794]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить