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

Откуда: Казань
Сообщений: 630
помагите сделать возможно ли эту задачу решить в рамках одного селекта?
(могу решить эту задачу с помощью курсора, но прибегать к нему в этот раз не хотелосьбы)

свой сложный пример не стал выкладывать а просто придумал похожуюю простенькую задачку

есть таблица документов

ИД документа Дата документаи тд
101.01.2009
201.01.2009
301.01.2009
.......
n01.01.2009


и есть отдельная таблица строк

ИД строки ИД документа(которому принадлежит строка) значение
11qwerty1
21qwerty2
31qwerty3
42qwerty4
52qwerty5
63qwerty6
73qwerty7
83qwerty8
93qwerty9
103qwerty10
......
n1qwerty9



помагите составить селект что бы он вывел на экран таблицу в виде

ИД документа Номер по порядку (от 1) строки(в разрезе каждого отдельного документа) значение строки
11qwerty1
12qwerty2
13qwerty3
21qwerty4
22qwerty5
31qwerty6
32qwerty7
33qwerty8
34qwerty9
35qwerty10
......
16 окт 09, 16:23    [7798092]     Ответить | Цитировать Сообщить модератору
 Re: непростой простой select  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Legushka
Номер по порядку (от 1) строки(в разрезе каждого отдельного документа)
это
row_number() over(partition by [ИД документа(которому принадлежит строка)] order by [ИД строки])
16 окт 09, 16:27    [7798122]     Ответить | Цитировать Сообщить модератору
 Re: непростой простой select  [new]
iljy
Member

Откуда:
Сообщений: 8711
Legushka,
да бог с вами, какой курсор??

select id_doc, row_number() over(partition by id_doc order by id_str) N, str_value
from str_table 
16 окт 09, 16:28    [7798130]     Ответить | Цитировать Сообщить модератору
 Re: непростой простой select  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
SELECT
 T.[ИД документа],
 (SELECT COUNT(*) FROM [таблица строк] TT WHERE TT.[ИД документа]=T.[ИД документа] AND TT.[ИД строки]<=T.[ИД строки]) [Номер по порядку],
 T.[значение]
FROM [таблица строк] T;
16 окт 09, 16:29    [7798135]     Ответить | Цитировать Сообщить модератору
 Re: непростой простой select  [new]
Legushka
Member

Откуда: Казань
Сообщений: 630
спасибо ребята)
16 окт 09, 17:00    [7798411]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить