Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Номер по порядку   Найти похожие ветки 

 
Faeton08 ©   (2004-08-10 09:46) [0]

Добрый день.
Не подскажите как в Select добавить искуственный номер по порядки,если такого поля в нет


 
Соловьев ©   (2004-08-10 09:48) [1]

СУБД?
ЗЫ А зачем?


 
Faeton08 ©   (2004-08-10 09:51) [2]

Я пишу отчеты для Lotus через ODBC драйвер,базу изменять не могу,а узеру треба номер по порядку


 
Соловьев ©   (2004-08-10 09:53) [3]

ну навряд ли эта СУБД поддерживает в СКЛ номер по порядку, лучше при формировании отчета построчно заведи счетчик и выводи


 
Faeton08 ©   (2004-08-10 09:56) [4]

Это я тоже знаю,просто Lotus и так не структуированная база данных и скорость обработки данных медленная,так что борюсь за кождую минуту.


 
roottim ©   (2004-08-10 12:44) [5]

>Я пишу отчеты
все отчеты (по крайней мере в Delphi) снабжены такими средствами как #строки по порядку.
к примеру в FR это будет [LINE#]


 
jack128 ©   (2004-08-10 12:50) [6]


> так что борюсь за кождую минуту.
средствами SQL такая задача выполняется медленее, чем клиентским приложением..


 
Соловьев ©   (2004-08-10 12:56) [7]


> средствами SQL такая задача выполняется медленее, чем клиентским
> приложением..

таких средств нет ни в одном СКЛ, а есть системная инфа - она берется из данных сервера. Это на быстрее чем на клиенте, так как считать не надо - эта информация есть уже.


 
jack128 ©   (2004-08-10 13:07) [8]


> таких средств нет ни в одном СКЛ,
ты знаешь все диалекты SQL что б так категорично заявлять? ;-)
SELECT GEN_ID(MYGEN, 1), FIELD1, FIELD2, FIELD3, ... FROM MYTABLE :-) Правда генератор обнулить сначало нужно..


> а есть системная инфа - она берется из данных сервера. Это
> на быстрее чем на клиенте, так как считать не надо - эта
> информация есть уже
Она(информация) есть.. Где то..  Её нужно откопать и переслать клиенту..На это уходит время.. Моё ИМХО - считать порядковый номер записи - это задача клиента


 
Anatoly Podgoretsky ©   (2004-08-10 13:11) [9]

jack128 ©   (10.08.04 13:07) [8]
Не прокатит в многопользовательской, номера то будут, но не подряд. И еще не дай бог другой произведет обнуление :-)


 
Danilka ©   (2004-08-10 13:13) [10]

[7] Соловьев ©   (10.08.04 12:56)
В Орокле есть rownum. :)


 
Danilka ©   (2004-08-10 13:14) [11]

Но это, конечно, не стандарт, и кроме орокла нигде не прокатит


 
Соловьев ©   (2004-08-10 13:17) [12]


> В Орокле есть rownum. :)

и это что средствами СКЛ вычисляются? или сервер дает нужную инфу?


 
Danilka ©   (2004-08-10 13:20) [13]

[12] Соловьев ©   (10.08.04 13:17)
ээ, немного не понял вопроса :)

select rownum, t.* from table1 t
вернет всю таблицу table1, плюс первая колонка - номер по-порядку начиная с 1.


 
Соловьев ©   (2004-08-10 13:22) [14]


> ээ, немного не понял вопроса :)
>
> select rownum, t.* from table1 t
> вернет всю таблицу table1, плюс первая колонка - номер по-порядку
> начиная с 1.

та понял:)

инфа откуда о номере записи?


 
jack128 ©   (2004-08-10 13:28) [15]


> [9] Anatoly Podgoretsky ©  
да я понимаю.. Вон - у Данилки более коректный пример.


> инфа откуда о номере записи?
от туда же откуда и инфа о t.* ;-) Все сервер выдает


 
Danilka ©   (2004-08-10 13:29) [16]

[14] Соловьев ©   (10.08.04 13:22)
Угу, что-то типа номера записи возвращаемого набора данных.


 
Соловьев ©   (2004-08-10 13:33) [17]


> от туда же откуда и инфа о t.* ;-) Все сервер выдает

вот мы и пришли к тому что я хочу сказать - что сервер уже хранит эту информацию(в системных таблицах или памяти), так что вычислять не надо...Значит быстрее.


 
Sergey13 ©   (2004-08-10 13:41) [18]

2[11] Danilka ©   (10.08.04 13:14)
>Но это, конечно, не стандарт, и кроме орокла нигде не прокатит
Он и на оракле не прокатит, если добавить order by. Ибо вычисляется при извлечении до сортировки.


 
Danilka ©   (2004-08-10 13:55) [19]

[18] Sergey13 ©   (10.08.04 13:41)
Специально проверил:

select rownum, t.* from firm t order by firm
и
select rownum, t.* from firm t order by cont

порядок записей разный, первая колонка - числа с 1 до 12-и по-порядку.
Орокол 8.1.7


 
Sergey13 ©   (2004-08-10 14:04) [20]

2[19] Danilka ©   (10.08.04 13:55)
Значит повезло (может таблица маленькая или влияние индексов). Я перепроверил на том же 8.1.7 порядок сбивается. Попробуй на таблице побольше.


 
Danilka ©   (2004-08-10 14:07) [21]

[20] Sergey13 ©   (10.08.04 14:04)
Хм, действительно, сделал ордер бай по полю на котором нет индекса - сбивается. :((
Буду знать.


 
roottim ©   (2004-08-10 15:11) [22]

ты вот так еще попробуй :)).. чтобы знать...
select rownum, r.* from (select * from .. order by ...) r


 
Danilka ©   (2004-08-10 15:13) [23]

[22] roottim ©   (10.08.04 15:11)
номано, не сбивается. :))



Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.053 c
1-1092729700
velial
2004-08-17 12:01
2004.09.05
хитрый Grid


14-1092859865
Cobalt
2004-08-19 00:11
2004.09.05
Знатокам английского


1-1092774753
Quest
2004-08-18 00:32
2004.09.05
зависает поток


14-1092418985
able
2004-08-13 21:43
2004.09.05
Windows XP prof


14-1092697349
Leaner
2004-08-17 03:02
2004.09.05
А есть в Питере компьютерные клубы, где собираються Delphi-сты ?