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

Вниз

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

 
MakNik   (2005-10-18 11:13) [0]

Подскажите, пожалуйста, как в запросе прономеровать полученные строки по порядку?


 
Johnmen ©   (2005-10-18 11:16) [1]

А зачем?
Просто интересно...


 
Ega23 ©   (2005-10-18 11:32) [2]

Через временную таблицу с добавлением Identity(1,1).
Как один из вариантов.

З.Ы. Присоединяюсь к Johnmen ©   (18.10.05 11:16) [1]


 
evvcom ©   (2005-10-18 11:49) [3]


> Просто интересно...

По-моему, в WEB это используется довольно часто.


 
isasa ©   (2005-10-18 11:57) [4]

А зачем?
Динамически получить порядковый номер записи в выборке.


 
Slider007 ©   (2005-10-18 11:59) [5]

isasa ©   (18.10.05 11:57) [4]
RecNo ?


 
stone ©   (2005-10-18 12:01) [6]


> evvcom ©   (18.10.05 11:49) [3]
>
> > Просто интересно...
>
> По-моему, в WEB это используется довольно часто.

Для чего?


 
Johnmen ©   (2005-10-18 12:03) [7]


> isasa ©   (18.10.05 11:57) [4]
> А зачем?
> Динамически получить порядковый номер записи в выборке.


А зачем?


 
Ega23 ©   (2005-10-18 12:03) [8]

2 Slider007 ©   (18.10.05 11:59) [5]

>
> isasa ©   (18.10.05 11:57) [4]
> RecNo ?


Не у всех потомков TDataSet будет работать. У TQuery, например - не будет. У TRxQuery - будет работать, но если нет BLOB-полей в выборке.
Короче, будет работать у тех потомков TDataSet, которые на ActiveChanged полностью выобрку фетчат.


 
MOA ©   (2005-10-18 12:04) [9]

http://www.sql.ru/faq/faq_topic.aspx?fid=126
Удачи!


 
isasa ©   (2005-10-18 12:20) [10]

> Динамически получить порядковый номер записи в выборке.
А зачем?


Для печати порядкового номера на персонализируемой странице(direct mail). Если какой-нибудь урод уронит пачку, можно легко собрать по порядковам номерам.


 
Johnmen ©   (2005-10-18 12:27) [11]

>isasa ©   (18.10.05 12:20) [10]
>Для печати порядкового номера...

Для печати есть др.нормальные средства.

>...номера на персонализируемой странице(direct mail). Если какой-нибудь урод уронит пачку, можно легко собрать по порядковам номерам.

Не понял, это про что?

ЗЫ
Это обсуждение регулярно возникает.
Идеологически, данный номер не нужен (бесполезен). ИМХО.


 
isasa ©   (2005-10-18 12:37) [12]

Идеологически, данный номер не нужен (бесполезен). ИМХО.
Печать со слиянием - письма одного содержания с разними обращениями и адресами. Переменная информация - SQL выборка (в крайнем случае View).
Должны лежать в определенном порядке. В случае смешивания, должны легко идентифицироваться и раскладываться.

Ты еще предложи GUID на них печатать.


 
Sergey13 ©   (2005-10-18 12:45) [13]

2[12] isasa ©   (18.10.05 12:37)
>В случае смешивания, должны легко идентифицироваться и раскладываться
Для идентификации обычно используют нечто, что хранится. Для печати номер по порядку хранить не обязательно.


 
dmitry501 ©   (2005-10-18 12:55) [14]

isasa ©   (18.10.05 12:20) [10]
<offtop> Рекомендуемый способ отвечать на "direct mail"-
http://www.vertical-visions.com/_temp/postagepaid/index2.html
</offtop>


 
isasa ©   (2005-10-18 12:55) [15]

Для печати номер по порядку хранить не обязательно.

isasa ©   (18.10.05 11:57) [4]
Динамически получить порядковый номер записи в выборке.


А я о чем?


 
isasa ©   (2005-10-18 13:06) [16]

dmitry501 ©   (18.10.05 12:55) [14]
:)
Это проблемы заказчика и его клиента.


 
msguns ©   (2005-10-18 13:08) [17]

http://delphimaster.net/view/3-1129092338/

Такое впечатление, что некоторым Мастерам больше нечего делать, как навязывать всем подряд свое имхо


 
evvcom ©   (2005-10-18 13:39) [18]


> stone ©   (18.10.05 12:01) [6]
>
> > evvcom ©   (18.10.05 11:49) [3]
> >
> > > Просто интересно...
> >
> > По-моему, в WEB это используется довольно часто.
>
> Для чего?

А сам прикинь, даже на этом сайте. Если посту в топике еще можно присвоить постоянный номер, то при выводе постов в конференции, они сначала должны отсортироваться по времени, а потом выбраться с такого-то по такой-то номер в зависимости от запрошенной страницы.


 
Курдль ©   (2005-10-18 14:10) [19]


> Ega23 ©   (18.10.05 11:32) [2]
> Через временную таблицу с добавлением Identity(1,1).


Это что, шутка? 8-()

select number(),  T.* from TABLE_NAME T
select rownum,  T.* from TABLE_NAME T


 
Ega23 ©   (2005-10-18 14:16) [20]

Это что, шутка? 8-()

Нет, не шутка.
Что такое number() и rownum?


 
Курдль ©   (2005-10-18 14:17) [21]


> Что такое number() и rownum?


Я привел 2 рабочих запроса для Sybase и oracle. Неужели MS SQL не имеет аналога?


 
Ega23 ©   (2005-10-18 14:21) [22]


> Я привел 2 рабочих запроса для Sybase и oracle. Неужели
> MS SQL не имеет аналога?


Нет. А зачем?


 
Курдль ©   (2005-10-18 14:25) [23]


> Ega23 ©   (18.10.05 14:21) [22]
> Нет. А зачем?


Чтобы, как просил автор:

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


8-)


 
Ega23 ©   (2005-10-18 14:28) [24]


>
> Чтобы, как просил автор:


Через временную таблицу с добавлением поля Identity(1,1)
Чем плох вариант?


 
Курдль ©   (2005-10-18 14:31) [25]


> Ega23 ©   (18.10.05 14:28) [24]
> Через временную таблицу с добавлением поля Identity(1,1)
> Чем плох вариант?


Вы все шутите! :)  Временная таблица - это уж совсем когда кризис жанра!
Вариант плох тем, что дергается функция Identity и создается временная таблица!


 
Ega23 ©   (2005-10-18 14:32) [26]

Временная таблица - это уж совсем когда кризис жанра!

С фига-ли? Отличный инструмент, постоянно использую.


 
Курдль ©   (2005-10-18 14:36) [27]


> Ega23 ©   (18.10.05 14:32) [26]
> С фига-ли? Отличный инструмент, постоянно использую.

За последние лет 5 - ни разу не понадобилось извращаться через временные таблицы. Правда я все больше по ораклу и сайбэйсу.


 
Ega23 ©   (2005-10-18 14:42) [28]


> За последние лет 5 - ни разу не понадобилось извращаться
> через временные таблицы. Правда я все больше по ораклу и
> сайбэйсу.


В MS SQL это нормальный инструмент. Стандартный способ, так сказать...


 
Sergey13 ©   (2005-10-18 14:43) [29]

2 [27] Курдль ©   (18.10.05 14:36)
Для Оракла ты привел запрос, который будет работать нормально только без сортировки. Если переделать его в
select rownum, * from (select)
то это будет практически аналог временной таблицы.
ИМХО


 
Курдль ©   (2005-10-18 14:51) [30]


> Sergey13 ©   (18.10.05 14:43) [29]
> 2 [27] Курдль ©   (18.10.05 14:36)
> Для Оракла ты привел запрос, который будет работать нормально
> только без сортировки.

Как это понимать? Также нормально будет работать, только уже новые номера будут соответствовать другим записям.


> Если переделать его в
> select rownum, * from (select)
> то это будет практически аналог временной таблицы.


Мне трудно судить, что значит "аналогом", но есть разница между "получить одним запросом" и "получить скриптом с созданием временной таблицы"?..


 
Sergey13 ©   (2005-10-18 14:55) [31]

2 [30] Курдль ©   (18.10.05 14:51)
> Как это понимать?
Так и понимать. RowNum вычисляется при выборке записей и до сортировки. Если после сортировки все правильно, то тебе просто повезло.


 
Ega23 ©   (2005-10-18 15:04) [32]


> Мне трудно судить, что значит "аналогом", но есть разница
> между "получить одним запросом" и "получить скриптом с созданием
> временной таблицы"?..
>


А я и так могу получить всё одним запросом. Через ХП.  :о)


 
msguns ©   (2005-10-18 15:20) [33]

извращенцы..
Неужели неясно, что № нужен только для отображения.


 
msguns ©   (2005-10-18 15:21) [34]

Удалено модератором


 
isasa ©   (2005-10-18 15:28) [35]

Неужели неясно, что № нужен только для отображения.
А какая разница. Он должен присутствовать в выходном потоке, как равноправное поле. Вот и все.


 
Danilka ©   (2005-10-18 15:33) [36]

isasa ©   (18.10.05 15:28)
Неужели неясно, что № нужен только для отображения.
А какая разница. Он должен присутствовать в выходном потоке, как равноправное поле. Вот и все.


Еслит только для отобращения, то он может "присутствовать в выходном потоке" как калькулирующее поле, например. Другой вариант, думаю не ошибусь, если скажу, что у всех существующих генераторов отчетов есть возможность сделать такое поле встронными средствами самого генератора.


 
Ega23 ©   (2005-10-18 15:47) [37]

В конце-концов никто не мешает написать своего потомка, например, TClientDataSet.


 
evvcom ©   (2005-10-18 16:02) [38]


> Еслит только для отобращения, то он может "присутствовать
> в выходном потоке" как калькулирующее поле, например. Другой
> вариант, думаю не ошибусь, если скажу, что у всех существующих
> генераторов отчетов

Ну какое калькулирующее поле? Ну кто говорит про генератор отчетов? Как к примеру написать запрос для вывода такой странички:
http://www.delphimaster.ru/cgi-bin/forum.pl?n=1&p=2 ?


 
isasa ©   (2005-10-18 16:21) [39]

Посмотрел, сколько у меня "временные" файлы занимают(С фига-ли? Отличный инструмент, постоянно использую. :)))  )  - 4,5G (между прочим на SCSI HDD) - 22,5% общего объема.


 
Danilka ©   (2005-10-18 16:22) [40]

evvcom ©   (18.10.05 16:02)

> Еслит только для отобращения, то он может "присутствовать
> в выходном потоке" как калькулирующее поле, например. Другой
> вариант, думаю не ошибусь, если скажу, что у всех существующих
> генераторов отчетов

Ну какое калькулирующее поле? Ну кто говорит про генератор отчетов? Как к примеру написать запрос для вывода такой странички:
http://www.delphimaster.ru/cgi-bin/forum.pl?n=1&p=2 ?


Я не пойму, зачем запрос, когда все делается элементарно на клиенте, за время, на порядок меньше времени существования этой ветки?
Как ты будешь формировать эту страничку? Я полагаю, открываешь набор данных и последовательно проходишь все записи, формируя эту страничку. При этом, в качестве номера ты можешь либо использовать ADOQuery.RecNo, либо заведя переменную-счетчик, которую обнуляешь перед циклом, в цикле прибавляешь по единичке и использешь на свое здоровье при формировании странички.
В чем проблема-то, никак не пойму?



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

Форум: "Базы";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.065 c
14-1131638827
Yura32
2005-11-10 19:07
2005.12.04
GeForce AGP


6-1124950549
yasny
2005-08-25 10:15
2005.12.04
TIdSMTP получение поддтверждения о доставке


14-1131995740
Сергей А.
2005-11-14 22:15
2005.12.04
Можно ли с помощью ftp.exe закачать файл на мой сайт?


1-1130204643
маленький человек
2005-10-25 05:44
2005.12.04
Частичная прозрачность


1-1131479772
злобная танька
2005-11-08 22:56
2005.12.04
оформление некого процесса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский