Показать сообщение отдельно
Старый 21.07.2003, 14:16   #4  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Да, еще:


вот так Вашу задачу можно было бы выполнить в T-SQL:

select
(select count(*) from table as table2 where table2.id<=table.id) as rank ,
id,description
from table as table1
having rank = 100
order by id

То же способ не идеальный, так как join таблицы саму на себя никогда не был хороши решением, но при небольщом количестве записей в таблице все-таки получше, чем курсор.
Остается только переложить этот запрос на X++

Или можно воспользоваться классами Connection, Statement, ResultSet. Они позволят выполнить этот запрос к БД напрямую, без преобразования sql выражения.

Вот кстати еще один метод решения этой задачи в T-SQL:


select count (table2.id) as rank, table1.id, table1.description
from table as table1 inner join table as table2 on
tree1.id >= table2.id
group by table1.id, table1.description
having rank = 100
order by rank

Хотя, может кто-то предложит решение этой задачи более Аксаптовсими методами