powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите с SQL-запросом.
6 сообщений из 6, страница 1 из 1
Помогите с SQL-запросом.
    #36124214
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите с SQL-запросом.


Имеются 2-е таблицы:
1. search_word (id int autoincrement primary key, word text unique)
2. search_word_tema (id_doc int, s_w_id int) // поля не уникальны

связь: "search_word.id -> search_word_tema.s_w_id"

Пользователь вводит слова и они ищутся так:
SELECT id FROM search_word WHERE word LIKE '%слово №1%' or word LIKE '%слово №2%' or ....

Но мне надо получить "search_word_tema.id_doc". Тоесть теперь я ищю их так:
SELECT id_doc FROM search_word_tema WHERE s_w_id="Результат поиска первого запроса"


Можно конечно сделать так:
SELECT id_doc FROM search_word_tema WHERE s_w_id = (SELECT id FROM search_word WHERE word LIKE '%слово №1%' or word LIKE '%слово №2%' or .... )

Этот запрос найдёт все "search_word_tema.id_doc" в которых встречается хоть одно слово, а мне надо так запрос построить, чтоб найти все

"search_word_tema.id_doc" в которых встречаются все введёные пользователем слова.

Спосибо всем откликнувшимся !!!
...
Рейтинг: 0 / 0
Помогите с SQL-запросом.
    #36124284
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 - мимо форума; 2 - см. In или Exists
...
Рейтинг: 0 / 0
Помогите с SQL-запросом.
    #36124296
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buser1 - мимо форума;
пишу под .НЕТ вот и создал тут тему, тем более подобные темы сдесь водятся ... а куда надо было ???

buser2 - см. In или Exists
Не то, не другое - не подходит.
...
Рейтинг: 0 / 0
Помогите с SQL-запросом.
    #36124311
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно было на подфорум субд которую используете... Почему не подходит? а... дошло...
ну это несложно
ваш вариант - 100% ошибка ... также предположим, что лайк здесь не в красную армию...

Код: plaintext
1.
2.
3.
4.
5.
SELECT id_doc FROM search_word_tema 
inner join  search_word_tema. s_w_id = search_word.id
where search_word.word  LIKE '%слово №1%' or word LIKE '%слово №2%' or .... 
group by id_doc
having count(distinct s_w_id) = (SELECT count(id) FROM search_word WHERE word LIKE '%слово №1%' or word LIKE '%слово №2%' or .... )
не поручусь за правильность, но суть Вы наверное уловили... возможные изыски зависят от субд и, возможно, её версии... здесь форум несколько о другом... я спать :)
...
Рейтинг: 0 / 0
Помогите с SQL-запросом.
    #36124314
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.: word text unique да и like '%...%' жестко... Что делать, когда Full-Text бессилен или зарисовки на тему LIKE '%искомое%' вот пример от одного из активных тов. с форума sql.ru (тема обсасывается с завидной регулярностью) и text в этом случае неуместен... nvarchar ? а?
...
Рейтинг: 0 / 0
Помогите с SQL-запросом.
    #36127253
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уловил. Спасибо !
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Помогите с SQL-запросом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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