|
|
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Дамы и Господа. Возникла просто острейшая необходимость взять посредством SQL-запроса конкретную запись из таблицы. Т.е.: Есть таблица T. В ней - 345 записей (например) Задача: в запросе взять одну строку(запись). Вариант с Id - полем не пойдет, так как нужно брать не мо номеру ID а по шагу(курсору), т.е. 1ая запись может иметь ID=3, так как до этого 1 и 2 были удалены. Но взять нужно именно ее в качестве 1ой. Т.е. резюмируя, брать нужно вроде как по rowcout.. Есть идеи? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:19:07 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
use cursor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:28:18 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
select * from bla-bla-bla t1 inner join ( select t1.id, count(t2.id) as count_id from bla-bla-bla t1 cross join bla-bla-bla t2 where t1.id>=t2.id group by t1.id ) t2 on t1.id=t2.id where t2.count_id=N-записи А ваще взять конкретную запись .. По-моему можно обойтись без этого ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:32:22 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Загрузите данные во временную таблицу с дополнительным столбцом идентити, он будет содержать истинный порядковый номер записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:33:51 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Либо так: select min(id) from bla-bla-bla where id not in ( select top N-записи-1 from bla-bla-bla order id) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:40:28 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Во временную таблицу - не пойдет... Записей под 100 000 штук... Как использовать курсор - можн опо-подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:47:40 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Я делаю примерно так (без курсора): declare @id int select @id=min(id)-1 from MyTab wnile 1 = 1 begin set rowcount 1 select @id=id,...... from MyTab where id > @id if @@ROWCOUNT = 0 break set rowcount 0 ............. end set rowcount 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 10:59:59 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Во временную хоть 10000000, а вообще второе предложение Maxa Вам видимо лучше всего . Но если нужны разные записи, то это будет динамический запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 11:00:00 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Если с курсором то создаете cursor с опцией scroll и просто передвигаете его на n-записей остановиться на записи с нужном Вам ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 11:24:19 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
2 Андрей Николаевич Возникла просто острейшая необходимость взять посредством SQL-запроса конкретную запись из таблицы. А Вы не поделитесь что это за задача такая? У меня как-то ни разу за 7 лет не возникала такая необходимость (ну разве что первые пару месяцев желания такие возникали). Даже не представить для чего это может понадобиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 11:35:57 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Могу поделиться. Мне нужно, чтобы из таблицы, в которой хранятся картинки RND вставлялась одна... Вот и вычисляю RND число из диап. записей и беру конкр. запись в таблице. Может Я чего то не так делаю? Но мне кажется, что это - наиболее оптимальный способ. Если есть предложения - всегда рад:%) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 14:43:04 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Ни фига не понял!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 15:03:43 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
как я понял , речь идет о чем то вроде показа банеров в инете ... если я правильно понял , то хочеться сделать нечто вроде того , что нужно показывать равномерно случайно картинки .... Вариант : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Если такой алгаритм используется для интернет то такая штука пройдет .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 15:19:02 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
хитрая задачка может что-то в этом духе Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 15:23:25 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
если дырок не очень много то можно перебирать значения пока не наткнёмся на существующую запись Код: plaintext 1. 2. 3. 4. 5. 6. 7. ну и еще много чего можно придумать, в том числе что выше написано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 16:14:37 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 16:38:31 |
|
||
|
Конкретная запись из таблицы
|
|||
|---|---|---|---|
|
#18+
К чему все эти сложности... А чем плох SELECT TOP или SET ROWCOUNT? Причем ROWCOUNT лучше, т.к. позволяет использовать переменную без всяких EXEC-ов Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2002, 08:51:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32041551&tid=1821297]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 340ms |

| 0 / 0 |
