Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как такое записать проще ?  [new]
Синтаксис_2012
Guest
declare @t table(a int,b varchar)

insert into @t(a, b)
values
( 1,'A'),
( 2,'A'),
( 3,'A'),
( 4,'A'),
( 5,'A'),
( 1,'B'),
( 2,'B')

select a,b,
iif(lead(a,1,0) over (order by b)<>0,lead(a,1,0) over (order by b),first_value(a) over( order by b))
from @t
28 ноя 13, 11:40    [15204429]     Ответить | Цитировать Сообщить модератору
 Re: Как такое записать проще ?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6727
Синтаксис_2012
declare @t table(a int,b varchar)
insert into @t(a,b) values
(1,'A'),(2,'A'),(3,'A'),(4,'A'),(5,'A'),
(1,'B'),(2,'B')

select a,b
,IsNull(lead(a)over(order by b)
,first_value(a)over(order by b))
from @t
Как такое записать проще ?
А что вас не устраивает?

Интересно, а зачем вам закольцовывать?
28 ноя 13, 19:58    [15208192]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить