Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Поиск (Den) 01/11/2001 - 20:34:42
      Re: Поиск (Al'Thor) 02/11/2001 - 00:42:41
      Re: Поиск (dannis) 02/11/2001 - 08:33:48
      Re: Нет (Василий) 02/11/2001 - 12:44:29
      Re: Нет (Al'Thor) 02/11/2001 - 13:55:56
      Re: Нет (dannis) 02/11/2001 - 15:25:50
      Re: to dannis - тоже нет (Василий) 02/11/2001 - 16:03:18
      Re: to dannis - тоже нет (dannis) 02/11/2001 - 16:19:15
      Re: Хм (Василий) 02/11/2001 - 16:40:46
      Re: И кстати, Al'Thor (Василий) 02/11/2001 - 17:03:14
      Re: И кстати, Al'Thor (Al'Thor) 02/11/2001 - 17:59:54
      Re: Хм (dannis) 02/11/2001 - 18:35:04
      Re: Изящность (Al'Thor) 02/11/2001 - 19:26:39

> Original message text:
> From: Den - 01/11/2001 - 20:34:42
> Subject:Поиск
> -----------------
> Вопрос такой:
> Есть таблица - справочник слов word вида id_word, word
> есть таблица соответствий Search вида id_page, id_word
>
> Пользователь вводит слова в строке поиска, а надо выдать только
> те страницы (т.е. id_page) в которых ни одно из слов не встречается.
> Слов может быть и одно и десять. Таблицы связываются между собой
> по полю id_word.
>


From: Василий - 02/11/2001 - 16:40:46
Subject:Хм
-----------------
1. если
select id_page, word ... group by id_page having word not in (<words>)
то, сдается мне, результат будет непредсказуем - для данного id_page выберется первый попавшийся в выборке word, соотв. данному id_page.
например, при той последовательности insert-ов, которую я тут приводил, для 'а' все будет правильно, я для 'b' получим

mysql> SELECT id_page,word FROM word NATURAL JOIN search
-> GROUP BY id_page HAVING word not in ('b');
+---------+------+
| id_page | word |
+---------+------+
| 1 | a |
| 2 | a |
+---------+------+

хотя на 1-й странице слово 'b' есть :
mysql> select * from search;
+---------+---------+
| id_page | id_word |
+---------+---------+
| 1 | 1 |
| 1 | 2 | <<<<<<< вот оно
| 1 | 3 |
| 2 | 1 |
| 2 | 4 |
+---------+---------+

2. Если группировать по id_page, word, то вообще смысла нет.
это то же самое, что
select distinct id_page, id_word from search where id_word not in
(<word_ids>)
это мы уже обсуждали - не то.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
615



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |