Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2 / 9 сообщений из 9, страница 1 из 1
03.06.2019, 14:35
    #39821705
ivan.555-19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
не совсем вижу, как подобное было бы можно сделать..
таблица 1 - tab1, таблица - tab2
хотелось бы чтобы в итоге остались строки(1, 3, 5) первой таблицы

create table tab1 (x char(20), y int);
insert into tab1 values ('На дворе трава, на траве дрова', 1);
insert into tab1 values ('Не руби дрова на траве двора.', 2);
insert into tab1 values ('На дворе трава', 3);
insert into tab1 values ('дрова на траве ', 4);
insert into tab1 values ('трава, на траве дрова', 5);

create table tab2 (x char(20));
insert into tab2 values ('трава');
insert into tab2 values ('аве дро');

select * from tab1;
select * from tab2;
...
Рейтинг: 0 / 0
03.06.2019, 14:59
    #39821728
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
Код: sql
1.
2.
select distinct t1.x, t1.y 
from tab1 t1 inner join tab2 t2 on rtrim(t1.x) like '%'+rtrim(t2.x)+'%' 
...
Рейтинг: 0 / 0
03.06.2019, 15:03
    #39821733
ivan.555-19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
court,

спасибо!
...
Рейтинг: 0 / 0
03.06.2019, 16:13
    #39821802
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
Код: sql
1.
2.
3.
SELECT *
FROM t1
WHERE EXISTS(SELECT * FROM t2 WHERE t1.x LIKE '%'+t2.x+'%');
...
Рейтинг: 0 / 0
03.06.2019, 16:18
    #39821809
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
iap
Код: sql
1.
2.
3.
SELECT *
FROM t1
WHERE EXISTS(SELECT * FROM t2 WHERE t1.x LIKE '%'+t2.x+'%');

Правда, t2.x, наверно, может содержать '%' или '_' или '[' или ']'?
Тогда надёжнее
Код: sql
1.
2.
3.
SELECT *
FROM t1
WHERE EXISTS(SELECT * FROM t2 WHERE CHARINDEX(t2.x,t1.x)<>0);
...
Рейтинг: 0 / 0
03.06.2019, 16:56
    #39821842
ivan.555-19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
iap,

спасибо большое за варианты!
...
Рейтинг: 0 / 0
03.06.2019, 18:52
    #39821901
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
Запросы с like, обычно, плохая идея, если это не поиск по началу строки. Если нужен поиск по словам в строке, то стоит подумать о full-text search.
...
Рейтинг: 0 / 0
03.06.2019, 19:00
    #39821906
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
fkthatЗапросы с like, обычно, плохая идея, если это не поиск по началу строки. Если нужен поиск по словам в строке, то стоит подумать о full-text search.Tckbivan.555-19insert into tab2 values ('аве дро');, то это разве "по словам"?
...
Рейтинг: 0 / 0
03.06.2019, 19:33
    #39821917
ivan.555-19
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2
iapivan.555-19insert into tab2 values ('аве дро');, то это разве "по словам"?

такое хреновое слово))
у меня вообще sas стоит.. сделал через INDEX - это местный аналог CHARINDEX похоже.. работает не то чтобы быстро.. но результат дает - уже хорошо.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выделить записи полей таблицы 1, содержащие(contains, like) значения полей таблицы 2 / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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