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

Вниз

Номер записи   Найти похожие ветки 

 
Ertong ©   (2004-06-15 17:27) [0]

У меня есть таблица с ключом M_ID.
Нужно узнать под каким номером будет стоять (если вообше будет) запись (задан M_ID) в этой таблице,
если сделать некую выборку.
Это можно сделать так:
1. Сделать нужную выборку в DataSet
2. Пересмотреть последовательно все записи, пока не найду нужную.

А можно ли это сделать без передачи таблицы клиенту?


 
Sandman25 ©   (2004-06-15 17:28) [1]

Зачем это все?


 
Соловьев ©   (2004-06-15 17:30) [2]


> Нужно узнать под каким номером будет стоять (если вообше
> будет) запись (задан M_ID) в этой таблице,
> если сделать некую выборку.

не стоять, а лежать :)записи лежат паралельно горизонтальной линии.


 
Ertong ©   (2004-06-15 17:52) [3]


> Зачем это все?

Есть таблица клиентов. Клиенты стоят в очереди. Некоторые клиенты из очереди выходят (но остаются в таблице). При выходе из очереди в соответсвующем поле ставится пометка. Нужно по ID клиента узнать номер его очереди.


> не стоять, а лежать :)записи лежат паралельно горизонтальной
> линии.

:)


 
Sandman25 ©   (2004-06-15 17:55) [4]

select count(*)
from clients
where DateField < (select DateField from clients where client_id=myclient)


 
Соловьев ©   (2004-06-15 17:59) [5]


> Нужно по ID клиента узнать номер его очереди.

пишешь ХП. где нумеруешь своих клиентов.


 
Sandman25 ©   (2004-06-15 18:00) [6]

[5] Соловьев ©   (15.06.04 17:59)

"Это не наш метод" (с) Нужно стараться избегать курсоров.


 
Соловьев ©   (2004-06-15 18:02) [7]

а какой признак очереди? т.е. как узнать что этот лиент выше или ниже другого?


 
Соловьев ©   (2004-06-15 18:04) [8]

и что такое очередь? отдельная таблица? каким образом связана с клиентами?


 
Ertong ©   (2004-06-15 20:05) [9]


> Sandman25 ©   (15.06.04 17:55) [4]

Это немного не то.
нужно что-то типа

create view temp
as select <position>, client_id, ...
  from clients
  where <черный ящик>
  order by <черный ящик>

select count(*)
from temp
where position<(select position from temp where client_id=myclient)

<черный ящик> - эта часть может постоянно менятся

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


 
Ertong ©   (2004-06-15 20:14) [10]


> пишешь ХП. где нумеруешь своих клиентов.


Я хотел так сделать, но нужно передать процедуре свой SQL запрос(с клиента).
Как его потом запустить?


 
Desdechado ©   (2004-06-16 11:49) [11]

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



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

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

Наверх




Память: 0.49 MB
Время: 0.053 c
1-1088071668
Aleksandr.
2004-06-24 14:07
2004.07.11
Как определить, является файл бинарным или текстовым?


14-1087502171
Blackman
2004-06-17 23:56
2004.07.11
Освободи мощь Shift!


1-1088084759
ПсихЪ_клон
2004-06-24 17:45
2004.07.11
Как убить окно?


1-1088057321
www.shegeda.by.ru
2004-06-24 10:08
2004.07.11
Утечка GDI ресурсов при рисовании по TListView.Canvas


3-1086685053
serg128
2004-06-08 12:57
2004.07.11
Как динамически добавить поле типа Lookup в TClientDataSet?