|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.08.2010, 08:05 | #1 | |
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Запрос из связанных таблиц: выбрать слово минимальной длины
Добрый день. Помогите пожалуйста составить запрос. Есть три таблицы: dictionary, dictionary_group_values и scenario. Схема бд и связи я приложила, чтобы было понятней. В общем у меня есть parent_id, у которого есть dictionary_group_id. Далее по этому dictionary_group_id я достаю keyword_id, и по keyword_id достаю keyword.
Но вся суть в том, что у одного dictionary_group_id м.б. несколько keyword_id, следовательно, одному dictionary_group_id соответствует несколько keyword, а мне нужно достать слово(keyword) с минимальной длиной. Вот мой запрос: Цитата:
Приложения не грузятся ... Последний раз редактировалось Manonia; 24.08.2010 в 08:10. |
|
24.08.2010, 10:55 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
не грузятся и не надо
руками набейте сюда ддл таблиц и какая субд? |
16.09.2010, 11:24 | #3 |
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Сорри, думала без картинок никто не полезет разбираться, поэтому не заглядывала больше. Вопрос этот решился, все оказалось не так уж и сложно, сказывается маленький опыт с sql-запросами. Назрел еще вопрос, тему новую не создаю, поэтому пишу здесь: в таблице два поля - id_keyword и keyword. В поле keyword может содержаться как одно слово(phone), так и какое-то словосочетание (mobile modem type, gprs modem), которое может состоять из двух и более слов. У меня есть строка, куда пользователь вводит запрос, мне нужно проанализировать его запрос, т.е. выделить те слова или словосочетания, кот. есть в таблице. Например он ввел: i want buy gprs modem in irkutsk, нужно выделить gprs modem. Какой алгоритм здесь можно применить? есть такой вариант: делим запрос на слова, берем первое и второе, смотрим есть ли в таблице, затем первое, второе, третье ну и т.д. Возможно кто-нибудь сталкивался с подобным?
|
16.09.2010, 12:41 | #4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
все верно
берем по одному слову и подставляем в запрос Код:
|
17.09.2010, 11:30 | #5 | ||
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Цитата:
Скорее всего вы писали под Дельфи? Думаю запрос можно оформить в хранимую процедуру и добавлять параметр просто. очередной вопрос назрел : возможно ли объединить два таблицы? У меня есть 2 таблицы с двумя полями - id, word, в которых перечислены стоп-слова. Как мне можно объединить данные этих двух таблиц с помощью запроса? А вернее даже так: добавить к первой таблице слова из второй(т.к. в первой их больше), и если тако слово уже есть в таблице, то не добавлять. Цитата:
Ворачиваюсь к предпоследнему вопросу, как составить запрос я поняла, мне не совсем понятно, как мне выделять слова и словосочетания из введенного запроса. Сначала я удаляю стоп слова, разбиваю предложение на массив слов. Теперь мне нужно работать только с первыми пятью словами, а именно, делать, как в математике это называется, размещения, т.е. комбинации этих слов. Только я вот не пойму, сколько же мне этих комбинаций составлять надо, по моим скромным подсчётам получилось 290 (это конечно может быть не верно). Посчитала таким образом: сначала из пяти слов комбинации по два - их получается 20, потом по три, потом по четыре, потом все пять, в сумме вышло 290 ... не могу запрограммить как составлять эти комбинации.. Последний раз редактировалось Stilet; 20.09.2010 в 08:26. |
||
17.09.2010, 14:03 | #6 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
какие еще комбинаций?
вы поняли что делает эта часть запроса? Код:
Цитата:
Последний раз редактировалось Stilet; 20.09.2010 в 08:41. |
|
20.09.2010, 06:00 | #7 | |
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Цитата:
Скорей всего, я немного не так выразилась про объединение таблиц: мне нужно было из двух таблиц сделать одну и если у них есть повторяющиеся записи, то одну из них удалить. Этот вопрос решён =) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[mysqld] ft_min_word_len=3 - изменение минимальной длины слова в поиске MySQL | Alar | SQL, базы данных | 2 | 13.09.2020 05:21 |
Редактирование связанных таблиц | formeram | БД в Delphi | 2 | 11.09.2009 14:11 |
MinLines(f), которая вставляет строку минимальной длины в начало и конец файла | ArtS | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 24.05.2009 19:13 |
sql запрос на выборку записей из двух связанных таблиц | Люсьен | БД в Delphi | 9 | 20.04.2009 16:07 |
Диспетчер связанных таблиц | АлёнаP | Microsoft Office Access | 2 | 31.03.2009 17:59 |