Главная страница
    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.46 MB
Время: 0.021 c
4-1086172913
_гость
2004-06-02 14:41
2004.07.11
при нажатии CTRL+C


3-1087039239
Uran
2004-06-12 15:20
2004.07.11
Хранимая процедура и BLOB


1-1087753166
Павел
2004-06-20 21:39
2004.07.11
индикатор Db как у Винампа


3-1086933832
coldplayer
2004-06-11 10:03
2004.07.11
RXDBGrid + ADO. Проблема сортировки.


14-1087993576
vecna
2004-06-23 16:26
2004.07.11
Не пятница, но тем не менее...





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