Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как извлеч из таблицы запись с определённым номером? / 15 сообщений из 15, страница 1 из 1
30.07.2007, 14:34
    #34692833
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Как построить запрос, что бы он вернул данные из записи определённым номером?
...
Рейтинг: 0 / 0
30.07.2007, 14:44
    #34692877
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
TimoКак построить запрос, что бы он вернул данные из записи определённым номером?select * from table where nomer = 1
...
Рейтинг: 0 / 0
30.07.2007, 14:54
    #34692911
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Я, наверно, неправильно сформулировал вопрос.

Мне нужно извлеч из таблицы запись с номером 1759.
...
Рейтинг: 0 / 0
30.07.2007, 15:12
    #34692993
Как извлеч из таблицы запись с определённым номером?
TimoЯ, наверно, неправильно сформулировал вопрос.

Мне нужно извлеч из таблицы запись с номером 1759.
Если Вы работаете на более или менее "нормальной системе" (MySQL, MS SQL, Oracle и т.д.), то такого понятия как "запись с номером" там нет. Ибо они оперируют с множествами (а порядок данных в множестве не важен). Вы конечно, можете профетчить (перебрать по одной) записи от 1 до 1759, но гарантии того, что в следующий раз это будет та же самая запись, нет никакой...

Если Вам нужна конкретная запись, то, например, в Оракле есть такое поле rowid, значение которого всегда уникально. Определите у Вашей записи rowid и дальше:
Код: plaintext
1.
2.
3.
...
select t.* from tabl t where t.rowid=tow --tow - Ваше значение rowid
....

Другое дело, если Вы работаете с dbf-ками средствами хBase. Тогда можно сделать примерно так (например, в FoxPro):
Код: plaintext
1.
select recno() rec, t.* from tabl t where recno()= 1759 
...
Рейтинг: 0 / 0
30.07.2007, 15:18
    #34693032
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Для MSSQL2005 примерно так -
Код: plaintext
select r.* FROM (select *,ROW_number() OVER(order by mytable.sortfield) as rownumber  from mytable ) as r where r.rownumber=  1759  

order by mytable.sortfield - существенный момент, именно здесь задаётся порядок сортировки и запись номер 1759 получает смысл
...
Рейтинг: 0 / 0
30.07.2007, 15:24
    #34693067
Как извлеч из таблицы запись с определённым номером?
ИзопропилДля MSSQL2005 примерно так -
Код: plaintext
select r.* FROM (select *,ROW_number() OVER(order by mytable.sortfield) as rownumber  from mytable ) as r where r.rownumber=  1759  

order by mytable.sortfield - существенный момент, именно здесь задаётся порядок сортировки и запись номер 1759 получает смысл
Да, но гарантии того, что в следующей выборке (после добавления/удаления записей) выбранная сейчас запись останется под № 1759 нет. О чем собственно я и написал выше...
...
Рейтинг: 0 / 0
30.07.2007, 15:32
    #34693119
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Пытюсь проконвертировать средствами SQL Sybas-овскую (ASA-7) базу в SQL-евскую.
При конвертации возникает ошибка: не нравиться ему дата (data owerflow). И ссылается на ту самую строку 1759. И как её найти?
...
Рейтинг: 0 / 0
30.07.2007, 16:05
    #34693276
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
TimoИ ссылается на ту самую строку 1759. И как её найти?
Есть подозрение, что этот номер - номер строки в запросе, а не номер строки в таблице.
...
Рейтинг: 0 / 0
30.07.2007, 16:06
    #34693281
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Как вариант:
select * from <table> where <date_field> in (select max(<date_field>) from <table>)
...
Рейтинг: 0 / 0
30.07.2007, 16:26
    #34693354
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
JimmyКак вариант:
select * from <table> where <date_field> in (select max(<date_field>) from <table>)

Выяснил, что есть в лица, рождённые 20 октября 2007 г. Но SQL-ю какое до того дело?
...
Рейтинг: 0 / 0
30.07.2007, 16:29
    #34693361
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Станислав С...кий[quot Изопропил]Для MSSQL2005 примерно так -
Код: plaintext
select r.* FROM (select *,ROW_number() OVER(order by mytable.sortfield) as rownumber  from mytable ) as r where r.rownumber=  1759  
.

Не удалось мне сформулировать это для Sybase.
...
Рейтинг: 0 / 0
30.07.2007, 17:15
    #34693548
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Timo JimmyКак вариант:
select * from <table> where <date_field> in (select max(<date_field>) from <table>)

Выяснил, что есть в лица, рождённые 20 октября 2007 г. Но SQL-ю какое до того дело?

Может, в поле есть NULL значения и именно на них ругается?
...
Рейтинг: 0 / 0
30.07.2007, 17:33
    #34693631
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Timo JimmyКак вариант:
select * from <table> where <date_field> in (select max(<date_field>) from <table>)

Выяснил, что есть в лица, рождённые 20 октября 2007 г. Но SQL-ю какое до того дело?

Возможно в поле есть NULL значения, которые и являются источником ошибок конвертации.
Тогда лучше заменить (update) их определенным значением (напр. 01.01.2050) или использовать функцию ISNULL для неявного преобразования.
...
Рейтинг: 0 / 0
30.07.2007, 17:48
    #34693704
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Jimmy
Может, в поле есть NULL значения и именно на них ругается?

Да не. Null allowed. Все даты с точки зрения SmallDateTime вполне корректные.
Видно сегодня не мой день. Снес базу и конвертнул её вновь. Теперь не конвертнулись восемь таблиц, семь из которых раньше конвертились без проблем.
...
Рейтинг: 0 / 0
30.07.2007, 18:19
    #34693816
Timo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как извлеч из таблицы запись с определённым номером?
Получилось. Спросите как? Да фиг его знает. Что-то зародилось у меня такое подозрение, что дело в отношениях. То-ли детишки-сирты в исходной базе.
Спасибо всем, кто откликнулся.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как извлеч из таблицы запись с определённым номером? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]