|
|
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! Помогите плиз. со след. У меня есть массив чисел. Я хочу сделать след. придавая в цикле постпенное значение из одной таблицы выбрать данные которые удовлетворяют след. условию: for i = 1 to kol_vo do select test_o2.*; from test_o2; where test_o2.pornam = vibork(i); into table vremen.dbf endfor т.е. как видите - я делаю из таблицы test записи в таблицу vremen. Вот постепенно перебирая массив. У меня не получается. Добавляется последняя запись. Как сделать правильно? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 16:13 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Как мне кажется цикл for здесь вовсе не нужен, достаточно select Insert Into - это не оператор а команда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 16:22 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
недописал. я непонял твоего условия выборки, если просто выбрать все записи из test_o2 в vremen.dbf еогда так: select test_o2.* from test_o2 into table vremen.dbf если какое-то условие - его надо допистаь select test_o2.* from test_o2 where <условие> into table vremen.dbf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 16:27 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Select into table не добавляет записи в таблицу, а создает новую. Потому и последя только и остается. Insert into Table select ... может спасти отца русской демократии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 16:28 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Если одним селектом SELECT * from test_o2 WHERE BETWEEN(pornam,1,kol_vo) AND vibork(pornam) BETWEEN(pornam,1,kol_vo) - оставит только записи от 1 до kol_vo Функция должна возвращать .T. для нужных записей Procedure vibork LParameters toPar1 local loRet if условие тогда m.loRet=.T. return loRet Можно или создать курсор into имя таблицы readwrite или вставить в нужную таблицу insert into Работаю под Лис-9 При вопросе лучше указывать версию фокса... Что б получить правильный ответ... С Ув. Игорь ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 16:53 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Сорри не доглядел что массив Так будет правильно ;) SELECT * from test_o2 WHERE ASCAN(vibork,pornam)#0 С Ув. Игорь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 17:06 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Да и забыл указать что... Лучше что б массив был отсортирован по нужному полю... И задать диапазон поиска... SELECT * from test_o2 WHERE ASCAN(vibork,pornam,1,kol_vo,1,8)#0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 17:10 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
dima_18Всем добрый день! Помогите плиз. со след. У меня есть массив чисел. Я хочу сделать след. придавая в цикле постпенное значение из одной таблицы выбрать данные которые удовлетворяют след. условию: for i = 1 to kol_vo do select test_o2.*; from test_o2; where test_o2.pornam = vibork(i); into table vremen.dbf endfor т.е. как видите - я делаю из таблицы test записи в таблицу vremen. Вот постепенно перебирая массив. У меня не получается. Добавляется последняя запись. Как сделать правильно? Спасибо Если порядок записей не важен: Код: plaintext 1. 2. 3. 4. 5. В таких целях лучше курсоры использовать, заметно быстрее работать будет. Массив откуда-то ведь взялся? Лучше заполнить курсор. Примерно так: Код: plaintext 1. 2. 3. 4. 5. А потом по человечески выборку делать: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2007, 17:20 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за помощь! У меня вопросик возник. Вот к примеру я беру такую выборку: select test_o2.*; from test_o2; where ASCAN(vibork, test_o2.pornam) != 0; into table vremen.dbf Мне результат - нравится!!! Но: у меня массив так идет: 10 - чисел: 1 - 10 2 - 3 ..... 10 - 1. Вот я и хочу это все видеть в такой последовательности. А у меня получается что в таблицу пишется: 1 - 1 ...... 10 - 10 Т.е. мне не надо сортировать по порядку. Подскажите плиз. еще раз я не понял, как этот момент учесть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:19 |
|
||
|
Помогите плиз с след. проблемой
|
|||
|---|---|---|---|
|
#18+
dima_18select test_o2.*; from test_o2; where ASCAN(vibork, test_o2.pornam) != 0; into table vremen.dbf ... Т.е. мне не надо сортировать по порядку. Подскажите плиз. еще раз я не понял, как этот момент учесть Я ж написал что этот вариант только в случае когда порядок записей не важен. Или добавь order by если есть поле которое отсортированное в твоем порядке. Чтобы выдержать твой порядок (в общем случае) используй второй вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2007, 13:32 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34798297&tid=1588772]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 335ms |

| 0 / 0 |
