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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.027 c
2-1132288585
fligapter
2005-11-18 07:36
2005.12.04
перемещение указателя записи из другой формы


2-1132343732
Alois
2005-11-18 22:55
2005.12.04
Расчёт числа Эйлера


3-1129634534
СергейГР
2005-10-18 15:22
2005.12.04
_небольшая_ база данных


4-1128005817
jack128
2005-09-29 18:56
2005.12.04
Какое сообщение приходит TPageControl у при клике мышой


1-1131282542
Xarkon
2005-11-06 16:09
2005.12.04
Как получить данные из _удалённого_ richedit?