|
|
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, как получить пронумерованный список записей из базы (MSSQL). Например, надо получить пронумерованный по порядку список наименований. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 08:16:16 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Кидаешь во временную табличку необходимый отсортированый набор записей ,добоваляешь поле identity, и селектишь на клиента. что-то вроде select ID=identity(int,1,1),поле_1,поле_2... into #ttt from ... select * from #ttt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 10:23:30 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
проверил ... все работает .... но вот только можно это организовать без # и в одном селекте С уважением, MarchCat :ж) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 11:10:51 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
UDF не поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 12:02:45 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Я делаю вот так insert into @tmp select 0, field1,... declare @newid int set @new id = 0 update @tmp set @newid = id = @newid + 1 select * from @tmp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 13:11:21 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Я думаю, что у каждого есть свой способ, но интересует лучший - простой и небольшой по объему (оптимальный). Кто еще может предложить способ? Обещаю использовать лучший!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 13:48:46 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Мой способ нумерую записи на стороне клиента при непосредственном выводе в экранную форму ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 14:58:02 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Чего то не получается запустить в QAnalyser: 1. Есть табл. qqq с полями one, two делаю: insert into @tmp select 0,one,two from qqq declare @newid int set @new id = 0 update @tmp set @newid = id = @newid + 1 select * from @tmp Отругал: Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near '@tmp'. Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near 'id'. Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near '@tmp'. Server: Msg 170, Level 15, State 1, Line 2 Line 2: Incorrect syntax near '='. Server: Msg 170, Level 15, State 1, Line 3 Line 3: Incorrect syntax near '@tmp'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 15:18:24 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Необходимо определить временную таблицу: declare @tmp table(id int IDENTITY(1,1),one <тип>,two <тип>) insert into @tmp(one,two) select one,two from qqq Так-же имейте ввиду, что если одно из полей исходной таблицы было первичным ключем его нужно конвертировать. Если one - первичный ключ, то в селекте на его место нужно поставить следующее: convert(int,one) as one ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 15:37:48 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
Может стоит поискать на клиенте какие-нибудь автовычисляемые столбцы? Или если есть числовой ключ и записей немного (ну не больше нескольких десятков), то можно использовать такую конструкцию: create table #tmp (id int,name varchar(10)) insert into #tmp (id,name) values (10,'a') insert into #tmp (id,name) values (20,'b') insert into #tmp (id,name) values (30,'c') insert into #tmp (id,name) values (40,'d') insert into #tmp (id,name) values (50,'e') select (select count(*)+1 from #tmp where #tmp.id<t.id) as cnt,id,name from #tmp as t drop table #tmp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2002, 18:48:52 |
|
||
|
Пронумеровать список
|
|||
|---|---|---|---|
|
#18+
vvg_! А может проще поступить ... разделить на 10 и все ..... :)))) сам-то тестировал как оно работает .... :)))) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2002, 07:17:47 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32033309&tid=1822250]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 332ms |

| 0 / 0 |
