Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
есть таблицы 1 слово слово слово2слово слово слово id userid text1 1 слово слово 22 слово слово как мне получить записи из второй таблицы, с условием что text содержит все слова из любой записи первой таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 06:31 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
Нормализуйте первую таблицу до состояния Код: sql 1. 2. 3. 4. 5. 6. 7. После этого выполните простейший поиск каждого слова, подсчитайте количество найденных слов и сравните с количеством слов набора. Те записи, где эти значения равны - вывести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 07:45 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
не очень понятно что нормализировать, ну и дальше тоже "слово" это для примера, например в таблице 1 может быть "вася в машине", "Мама на кухне" любые выражения и получается нужно пройтись по записям и выбирать все слова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 07:51 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
tadeyilodaполучается нужно пройтись по записям Забудьте свои процедурные подходы. Не на бэйсике пишете. Шаблон: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. где words - нормализованная таблица токенов, phrase - таблица тестируемых наборов токенов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 09:01 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
PS. В первом подзапросе скорее всего нужно изменить текст так, чтобы исключить нахождение субтокенов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 09:02 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
опять не понятно как нормализовать первую таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 13:11 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
допустим в таблице 1 такие значения id text1 мама на кухне2 книга на столе значит нормализованная таблица будет такой idanswer_id text11мама21на31кухне42книга52на62столе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 14:31 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
спасибо, все работает только запрос 20559395 пришлось допиливать немного непривычное решение если нужно было искать только по одной фразе то тут все просто делается через match against ('+каждое +нужное +слово') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2017, 17:07 |
|
||
|
запрос поиск по строкам
|
|||
|---|---|---|---|
|
#18+
tadeyilodaтолько запрос 20559395 пришлось допиливать Это ожидаемо - был дан шаблон, к тому же построенный так, чтобы была видна логика его построения. tadeyilodaнемного непривычное решение Вы просто не перешли ещё от мышления программиста к мышлению SQL-щика. Если у первого - итерации по одной записи за шаг, то у второго - работа со всем массивом как единым целым. tadeyilodaвсе работает В варианте, показанном в шаблоне, есть один большой недостаток - одно слово может быть частью другого (как подстрока), и будут ложные срабатывания. Лечится, конечно, обычно - вводом фэйк-разделителей, но по ресурсам получается очень накладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2017, 08:02 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39471075&tid=1830618]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 159ms |

| 0 / 0 |
