Форум: "Начинающим";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];
ВнизNext Найти похожие ветки
← →
Шакал (2008-12-26 12:33) [0]Здравствуйте!
Подскажите пожалуйста - есть база mdb, в ней один столбик содержит много чисел, требуется при запросе вывести все следующие числа за искомыми....т.е ищем 50 - а в гриде чтобы показало все которые стоят следом....
Так почемуто не проходит:
adoquery.SQL.text:="select * from table where fields=50 next"
← →
clickmaker © (2008-12-26 12:35) [1]> Так почемуто не проходит
а должно?
почему не where fields > 50?
← →
Правильный$Вася (2008-12-26 12:35) [2]select * from tbl where fld > :n
← →
Сергей М. © (2008-12-26 12:48) [3]
> Шакал
Под
> все следующие числа
можно понимать все что угодно.
Приведи конкретный фрагмент исходной таблицы и соотв.фрагмент того что ты хочешь в рез-те выполнения запроса увидеть в гриде ..
← →
Sergey13 © (2008-12-26 13:40) [4]> [0] Шакал (26.12.08 12:33)
> Так почемуто не проходит
Дырка мала? Или есть другие признаки непроходимости?
← →
Johnmen © (2008-12-26 13:44) [5]
> Sergey13 © (26.12.08 13:40) [4]
> Дырка мала?
Фу, как грубо... Помягче бы - "проходное отверстие"
:)))
← →
Шакал (2008-12-26 13:46) [6]">" - не то...
Пример столба таблицы:
44
2
11
62
50
19
54
50
21
Нужно, что бы если запросить 50, выдало 19, 21 и т.д...
Если это вобще возможно...
← →
Sergey13 © (2008-12-26 13:48) [7]> [5] Johnmen © (26.12.08 13:44)
> "проходное отверстие"
Какое же оно проходное, если не проходит. 8-)
> [6] Шакал (26.12.08 13:46)
А что отвечает за порядок приведенных чисел?
← →
Шакал (2008-12-26 13:50) [8]Другая программа....сортировать нельзя...
← →
Сергей М. © (2008-12-26 13:51) [9]СУБД какая ?
Какие еще поля есть в этой таблице ?
← →
Johnmen © (2008-12-26 13:53) [10]
> сортировать нельзя...
Приказ начальника?
← →
Шакал (2008-12-26 13:54) [11]Access....другие поля меня не интересуют, нужны только числа....
← →
Шакал (2008-12-26 13:55) [12]
> Приказ начальника?
Нет...иначе вся прога не имеет смысла...
← →
Johnmen © (2008-12-26 14:01) [13]
> Нет...иначе вся прога не имеет смысла...
Есть смутное ощущение, что эта прога не имеет смысла в любом случае...:)
ЗЫ
Не думай, что тебе чем-то помогут, пока ты секретничаешь со своей прогой.
← →
Правильный$Вася (2008-12-26 14:04) [14]11
62
50
19
54
50
21
18
Нужно, что бы если запросить 50, выдало 19, 21 и т.д...
т.е. 54 и 18 не надо?
тогда средствами SQL это если иможно сделать, то очень мучительно
← →
Сергей М. © (2008-12-26 14:04) [15]
> другие поля меня не интересуют
А я тебе их и не предлагаю.
Ответить сподобишься или будешь партизанить ?
← →
Шакал (2008-12-26 14:08) [16]
> тогда средствами SQL это если и можно сделать, то очень мучительно
а чем другим??)))
> Ответить сподобишься или будешь партизанить ?
Удалил все остальное с таблицы..остался один столбик с числами....
> Есть смутное ощущение, что эта прога не имеет смысла в любом
> случае...:)
Возможно ты и прав)))))
Не, на самом деле если очень сложно, то тогда лучше и не земорачиваться...эт я так, для общего развития....
← →
Сергей М. © (2008-12-26 14:13) [17]
> Удалил все остальное с таблицы
Мдя ..Чем дальше в лес, тем злее дятлы ..
Ну что тебе сказать ?
Удали до кучи еще и это поле, а лучше сразу таблицу).. Нет таблицы - нет проблемы)
← →
Шакал (2008-12-26 14:16) [18]
> Сергей М
:)
← →
Sergey13 © (2008-12-26 14:24) [19]> [17] Сергей М. © (26.12.08 14:13)
> а лучше сразу таблицу)..
Чего мелочиться то, ведь
> [0] Шакал (26.12.08 12:33)
> есть база mdb
8-)
← →
Шакал (2008-12-26 14:36) [20]
> Sergey13 © (26.12.08 14:24) [19]
>
> > [17] Сергей М. © (26.12.08 14:13)
> > а лучше сразу таблицу)..
>
> Чего мелочиться то, ведь
>
> > [0] Шакал (26.12.08 12:33)
> > есть база mdb
>
> 8-)
под сталом))))))))))))))))))))))))))))))))))))))))))))))))))))))))
← →
Sergey13 © (2008-12-26 15:05) [21]> [20] Шакал (26.12.08 14:36)
Но ползая под столом ты похоже так и не понял причину своей неудачи.
В обещем случае порядок расположения записей в таблице (вернее в возвращаемом наборе данных) произволен. Т.е. теоретически тот же набор записей, что ты привел, при следующем открытии возможно будет с другим порядком записей. Поэтому опираться на этот "порядок" нельзя. Необходимо иметь строго сортированный, по какому либо полю, набор данных. Вот уже в нем, опираясь на это самое "сортировочное" поле можно делать подобные выкрутасы, как ты хочешь.
← →
Шакал (2008-12-26 15:18) [22]
> Т.е. теоретически тот же набор записей, что ты привел, при
> следующем открытии возможно будет с другим порядком записей
Ну лан...это понятно...добавлю поле с порядковыми номерами...а выкртнуться то так, как?
← →
Сергей М. © (2008-12-26 15:23) [23]select * from Table where OrderNo > (select OrderNo from Table where NumericField = 50)
← →
Шакал (2008-12-26 15:33) [24]
> select * from Table where OrderNo > (select OrderNo from
> Table where NumericField = 50)
Это выберет строки с порядковыми номера больше 50... в таблице ~30000 строк...результат совсем не тот...
← →
Сергей М. © (2008-12-26 15:37) [25]
> Это выберет строки с порядковыми номера больше 50
"Это" выберет строки с порядковыми номерами больше порядкового номера той строки, где в интересующем тебя поле записано 50
← →
Сергей М. © (2008-12-26 15:38) [26]
> в таблице ~30000 строк
И что ?
← →
Правильный$Вася (2008-12-26 15:44) [27]
> т.е. 54 и 18 не надо?
а этот вопрос так и остался безответным...
← →
Шакал (2008-12-26 15:48) [28]
>
> > т.е. 54 и 18 не надо?
>
> а этот вопрос так и остался безответным...
не надо
← →
MsGuns © (2008-12-26 15:52) [29]Смысл в подобной выборке может быть единственный - если надо получить номера записей, введенных хронологически ПОЗЖЕ указанной. Решается только в единственном случае - если в таблице есть поле счетчика. Тогда запрос будет выглядеть так
Select FNUM from table where ID>(select ID from table where FNUM=:n)
← →
Сергей М. © (2008-12-26 15:52) [30]
> не надо
Как это так "не надо" ?
Быстро же ты, однако, оглобли заворачиваешь - сначала тебе подай "все которые стоят следом", а теперь вдруг 54 и 18 уже не надо, хотя 54 тоже "стоит следом" за 50, как тобой показано в [6]
← →
palva © (2008-12-26 21:45) [31]
> Ну лан...это понятно...добавлю поле с порядковыми номерами.
> ..а выкртнуться то так, как?
Можно так: в таблице t1 два целых поля id - порядковый номер и num, здесь в некоторых строках стоит 50. Если id идут подряд, то в Access работает такой запрос:
select b.num
from t1 a
inner join t1 b on b.id = a.id + 1
where a.num = 50
order by b.id
Если номера идут не подряд, то наверно тоже как-нибудь можно, добавив вложенные запросы. Но не знаю будет ли это работать на Access.
← →
Шакал (2008-12-29 08:35) [32]
> Как это так "не надо" ?
>
> Быстро же ты, однако, оглобли заворачиваешь - сначала тебе
> подай "все которые стоят следом", а теперь вдруг 54 и 18
> уже не надо, хотя 54 тоже "стоит следом" за 50, как тобой
> показано в [6]
Сори, неверно поставил вопрос, нужно 1 число стоящее за искомым....
Всем спасибо за ответы!!!
← →
AndreyV © (2008-12-29 12:49) [33]> [32] Шакал (29.12.08 08:35)
> Сори, неверно поставил вопрос, нужно 1 число стоящее за
> искомым....
Ну ты подумай, о чем говоришь. Что нужно и что искомое, и кто за кем стоит.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.006 c