powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка с условем на memo-поле
5 сообщений из 5, страница 1 из 1
Выборка с условем на memo-поле
    #34698093
KS-SK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы, в одной из них есть текстовое поле, в другой memo-поле, содержащее список значений текстового поля первой таблицы, разделенных запятой.
Необходимо вывести значения таблицы 1, где значение текстового поля входит в значения memo-поля таблицы 2.
Если бы в таблице 2 было не memo-поле, а текстовое, я б написал следующий запрос:
select поля from таблица 1 where ткст.поле in (select ткст.поле from таблица 2)
А как написать запрос в случае с memo-полем?
Спасибо.
...
Рейтинг: 0 / 0
Выборка с условем на memo-поле
    #34698155
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
Выборка с условем на memo-поле
    #34699903
KS-SK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо
...
Рейтинг: 0 / 0
Выборка с условем на memo-поле
    #34700059
KS-SK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос еще возник - как использовать оператор $ с NOT, если мне нужны данные по полю, не входящему ни в одно значение memo-поля
...
Рейтинг: 0 / 0
Выборка с условем на memo-поле
    #34700300
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
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка с условем на memo-поле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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