Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите плиз с запросом  [new]
STE?
Guest
Добрый, день.
Подскажите как правильно составить запрос?
	declare @stDate datetime = '20111231' --40908
	declare @enDate datetime = '20130102' --41276
	
	;with ste (Y,M) as(
	select datepart(year,@StDate) as Y,datepart(month,@StDate) as M
	union all
	select datepart(year,dateadd(month,1,ste.Y)) as Y,datepart(month,dateadd(month,1,ste.M)) as M	
	from ste
	where ste.Y <= datepart(year,@enDate) and ste.M <= datepart(month,@enDate)
	)
	select *
	from ste

на выходе получаю

Y M
2011 12
а хочется

Y M
2011 12
2012 1
2012 2
...
2013 1

Заранее спасибо.
30 янв 13, 14:45    [13851054]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с запросом  [new]
samoxod
Member

Откуда: Москва
Сообщений: 31
	declare @stDate datetime = '20111231' --40908
	declare @enDate datetime = '20130102' --41276
	select datepart(year,@StDate) as Y,datepart(month,@StDate) as M
	
	;with ste (Y,M,D) 
       as(
	select datepart(year,@StDate) as Y,datepart(month,@StDate) as M, @stDate as D
	union all
	select datepart(year,dateadd(month,1,ste.D)) as Y,datepart(month,dateadd(month,1,ste.D)) as M, dateadd(month,1,ste.D)	
	from ste
	where ste.D <= @enDate
	)
	select Y, M from ste
30 янв 13, 15:11    [13851288]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плиз с запросом  [new]
STE?
Guest
samoxod,

спасибо, то что доктор прописал.
30 янв 13, 16:36    [13851960]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить