Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.055 c
4-1090517704
juiceman
2004-07-22 21:35
2004.09.05
программировать в Windows устройства


4-1090323947
TKV
2004-07-20 15:45
2004.09.05
Помогите поймать данные посылаемые из дос программы в порт LPT


1-1092906179
Марат
2004-08-19 13:02
2004.09.05
Fatal Error


1-1092839081
Toshanius
2004-08-18 18:24
2004.09.05
Очет


1-1092846426
dimon1979
2004-08-18 20:27
2004.09.05
Гиперссылка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский