Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка с условем на memo-поле / 5 сообщений из 5, страница 1 из 1
01.08.2007, 14:13
    #34698093
KS-SK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с условем на memo-поле
Есть две таблицы, в одной из них есть текстовое поле, в другой memo-поле, содержащее список значений текстового поля первой таблицы, разделенных запятой.
Необходимо вывести значения таблицы 1, где значение текстового поля входит в значения memo-поля таблицы 2.
Если бы в таблице 2 было не memo-поле, а текстовое, я б написал следующий запрос:
select поля from таблица 1 where ткст.поле in (select ткст.поле from таблица 2)
А как написать запрос в случае с memo-полем?
Спасибо.
...
Рейтинг: 0 / 0
01.08.2007, 14:29
    #34698155
Выборка с условем на memo-поле
KS-SKЕсть две таблицы, в одной из них есть текстовое поле, в другой memo-поле, содержащее список значений текстового поля первой таблицы, разделенных запятой.
Необходимо вывести значения таблицы 1, где значение текстового поля входит в значения memo-поля таблицы 2.
Если бы в таблице 2 было не memo-поле, а текстовое, я б написал следующий запрос:
select поля from таблица 1 where ткст.поле in (select ткст.поле from таблица 2)
А как написать запрос в случае с memo-полем?
Спасибо.
Можно использовать поиск по вхождению ($). Только надо привести размерность искомого значения (т.е. убрать лишние пробелы)...

Пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create cursor t1 (myc c( 2 ))
insert into t1 value ('a')
insert into t1 value ('b')
insert into t1 value ('r')
insert into t1 value ('t')
insert into t1 value ('w')
insert into t1 value ('q')

create cursor t2 (mym M)
insert into t2 values('f,b')
insert into t2 values('c,d')
insert into t2 values('e,a')

select t1.myc from t1,t2 where allt(t1.myc) $ t2.mym into cursor query
brow norm

select t1.myc from t1 where allt(t1.myc) $ (select mym from t2) into cursor query
brow norm
...
Рейтинг: 0 / 0
02.08.2007, 07:17
    #34699903
KS-SK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с условем на memo-поле
Большое спасибо
...
Рейтинг: 0 / 0
02.08.2007, 09:36
    #34700059
KS-SK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с условем на memo-поле
Вопрос еще возник - как использовать оператор $ с NOT, если мне нужны данные по полю, не входящему ни в одно значение memo-поля
...
Рейтинг: 0 / 0
02.08.2007, 10:45
    #34700300
Выборка с условем на memo-поле
KS-SKВопрос еще возник - как использовать оператор $ с NOT, если мне нужны данные по полю, не входящему ни в одно значение memo-поля
Здесь уже все не так однозначно...
Самый правильный вариант:
- выбрать все, которые входят;
- выбрать тех, кто не попал в выборку.

Если одним запросом, то так:
Код: plaintext
1.
2.
3.
select t1.myc from t1 where t1.myc not in ;
     (select t12.myc from t1 t12,t2 where allt(t12.myc) $ t2.mym );
into cursor query nofilter
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка с условем на memo-поле / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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