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

Откуда:
Сообщений: 839
declare @tt table (pt varchar(50),dir varchar(50),sum decimal(19,2))

insert into @tt
values 
 ('б','а',10),
 ('б','а',20),
 ('б','б',20),
 ('б','в',20),
 ('н','а',10),
 ('н','а',20),
 ('н','б',20)


select * from @tt
order by pt,dir

как я не играюсь с ROW_NUMBER() у меня уже ничего не выходит...уже завис(
надо пронумеровать следующим образом

rnpt dir sum
1б а 10
1б а 20
2б б 20
3б в 20
4н а 10
4н а 20
5н б 20

то есть присвоить одинаковый номер всем записям если pt и dir одинаковы
24 май 12, 16:16    [12609430]     Ответить | Цитировать Сообщить модератору
 Re: хелп плиз с запросом ms sql 2008 r2  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
ther,

declare @tt table (pt varchar(50),dir varchar(50),sum decimal(19,2))

insert into @tt
values 
 ('b','a',10),
 ('b','a',20),
 ('b','b',20),
 ('b','v',20),
 ('h','a',10),
 ('h','a',20),
 ('h','b',20)


select DENSE_RANK() over(order by pt+'@@'+dir ) as rn
,* from @tt
order by pt,dir

+'@@'+ - не обязательная опция естественно
24 май 12, 16:31    [12609581]     Ответить | Цитировать Сообщить модератору
 Re: хелп плиз с запросом ms sql 2008 r2  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
ther,

Чуток даже перестарался
надо просто так
select DENSE_RANK() over(order by pt,dir ) as rn
,* from @tt
order by pt,dir
24 май 12, 16:32    [12609596]     Ответить | Цитировать Сообщить модератору
 Re: хелп плиз с запросом ms sql 2008 r2  [new]
ther
Member

Откуда:
Сообщений: 839
Alexandr Kr.
ухты...спасибо вам добрый молодец...не знал про DENSE_RANK()....пошел читать про нее...еще раз спасибо большое
24 май 12, 16:34    [12609607]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить