Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

2000 Добавить в SELECT номер строки. [MSSQL]


Страницы:   1 2 3 4

KAA ©   (2002-08-14 19:17:00) 

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


KAA   (2002-08-15 11:03:00) [41]

2 Praco ©
Все понял, протормозил немного. :)
Большое спасибо, сработало.


3JIA9I CyKA   (2002-08-15 10:53:00) [42]

2Val - Нету.


Praco   (2002-08-15 10:49:00) [43]

KAA © (15.08.02 09:36)
au_id - уникальный идентификатор. a1 - алиас таблички. Если не понятно, почитай М.Грабера.

Johnmen © (15.08.02 09:55)
>Praco © (15.08.02 09:25)
>Реальные воплощения SQL серверов, как правило, не соответствуют
>требованиям реляционной модели.

Каким это таким требованиям ???

Например: в реляционной модели порядок следования полей не важен. В реальных SQL серверах поля пронумерованы и их порядок, как правило, важен.
NULL значения и операции с ними, трактовка доменов, и т.д.,... вспоминать не охота. Короче, теория реляционных отношений - наука, теория реляционных баз - прикладная псевдонаучка, слишком много упрощений и аксиом. Конкретный SQL сервер в стремлении расширить свои возможности еще больше отходит от требовани теории. MS SQL - яркий пример.
Главный аргумент: реляционное отношение не может быть ненормализовано, иначе это не отношение. Но любой SQL сервер позволяет создавать ненормализованные базы.
Продолжать не хочу, Дейта читал давно. :)



Val   (2002-08-15 10:45:00) [44]

кстати, вопрос знатокам MSSQL: а нет ли у данного сервера такого замечательного псевдостолбца как rownum из Oracle?


3JIA9I CyKA   (2002-08-15 10:32:00) [45]

Reindeer Moss Eaterдело говорит!


Reindeer Moss Eater   (2002-08-15 10:21:00) [46]

Сформируйте промежуточную таблицу, добавьте поле "Номер по порядку" Пройдитесь курсором и пронумеруйте это поле.


Polevi   (2002-08-15 10:17:00) [47]

2Suntechnic ©
Уважаемый, если у меня набор данных отсортирован по коду товара, я вполне могу расчитывать на то что каждый раз порядок строк будет одинаков (если не добавлять позиций). И не надо мне сообщать прописные истины насчет понятия номера записи. В моем понятии клиент это не оператор, который использует мою программу, а клиент компании с которым оператор работает.

2Reindeer Moss Eater
У меня в таблице содержимого счетов несколько милионов записей - пользователю конечно будет очень интересно узнать что первая позиция в его счете имеет номер 1347345 - вот они с клиентом будут общий язык находить по телефону когда клиент из мухосранска передумал и хочет вместо 10 шт товара взять 11 штук..


KAA   (2002-08-15 10:16:00) [48]

2 Reindeer Moss Eater

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


Reindeer Moss Eater   (2002-08-15 10:14:00) [49]

Либо промежуточная таблица с дополнительным полем "Номер записи" спасет тебя.


Reindeer Moss Eater   (2002-08-15 10:12:00) [50]

>KAA
Не надо. Сделай запрос к данным из книги Excel. Тем более у тебя MSSQL.


KAA   (2002-08-15 10:10:00) [51]

2 Reindeer Moss Eater ©
>Не надо заставлять SQL сервер нумеровать возвращаемый рекордсет, надо нумеровать вставляемые в Excel данные.

Надо. Передо мной стоит задача, полностью формировать таблицу. Полностью, это значит что и порядковые номера записей. Это не технический, а административный вопрос.


Reindeer Moss Eater   (2002-08-15 10:07:00) [52]

Если паровоз должен повернуть, совсем не обязательно в его топку бросать кривые дрова.
Не надо заставлять SQL сервер нумеровать возвращаемый рекордсет, надо нумеровать вставляемые в Excel данные.


wicked   (2002-08-15 10:04:00) [53]

2 Praco ©
спасибо за идеи... :)
(век живи - век учись...)


Johnmen   (2002-08-15 09:55:00) [54]

>Praco © (15.08.02 09:25)
>Реальные воплощения SQL серверов, как правило, не соответствуют
>требованиям реляционной модели.

Каким это таким требованиям ???


KAA   (2002-08-15 09:48:00) [55]

>AlexSam
В эксель я их вывожу.


AlexSam   (2002-08-15 09:45:00) [56]

Если ты выводишь данные в QR можно построить через QRLabel в событии BeforePrint: i:=i+1


Mike Kouzmine   (2002-08-15 09:37:00) [57]

Так им. Молодец Praco. Я про "А не нужно теоретизировать.Кроме того, если в форме отчета есть поле "№ п/п", не будешь же рассказывать юзеру теорию реляционных отношений."


KAA   (2002-08-15 09:36:00) [58]

>Praco

Можно чуть подробней, что такое a1, a и поле au_id ?

>Кроме того, если в форме отчета есть поле "№ п/п", не будешь же рассказывать юзеру теорию реляционных отношений.

Все именно так. :)


Praco   (2002-08-15 09:25:00) [59]

Примерно так:
select (select count(*) from authors a1 where a1.au_id <= a.au_id), a.* from authors a
order by a.au_id

"а что есть порядковый номер?" А не нужно теоретизировать. Вопрос-то конкретный. Реальные воплощения SQL серверов, как правило, не соответствуют требованиям реляционной модели. Кроме того, если в форме отчета есть поле "№ п/п", не будешь же рассказывать юзеру теорию реляционных отношений.


KAA   (2002-08-15 09:24:00) [60]

Ничего по номеру искать не надо будет, это просто информационное поле. Запрос напрямую клиентским приложением без разбора загоняется в эксел. Одно из полей - это порядковый номер записи, как правильно заметил Polevi, это будет счет выдаваемый клиенту.

>Val
Так хоть подскажи, или ссылку дай.


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо