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




MySQL.RU - Webboard



Вернуться
Фильтрация позиций из прайса (bas) 30/05/2004 - 13:36:27



From: bas - 30/05/2004 - 13:36:27
Subject:Фильтрация позиций из прайса
-----------------
Добрый день.
О MySQL узнал три месяца назад, поэтому строго не судите...
Задача - отфильтровать прайс по категориям.
Есть таблица с прайсом вида:
CREATE TABLE `firm0001` (
`str_num` smallint(5) unsigned NOT NULL default '0', номер позиции в прайсе
`name` varchar(120) NOT NULL default '', текстовое содержание
`price` mediumint(9) unsigned NOT NULL default '0', цена позиции
`used` tinyint(4) unsigned NOT NULL default '0', для пометки, что позиция была обработана
PRIMARY KEY (`str_num`)
)
Необходимо по определенным словам, которые должны быть в категории и не должны быть в ней отфильтровать прайс.
Для хранения этих слов сделал таблицу:
CREATE TABLE `filter_words` (
`cat_num` smallint(6) NOT NULL default '0', номер категории, для которой данное слово фильтрующее
`firm_num` smallint(6) NOT NULL default '0', номер фирмы, для прайса которой данное фильтрующее слово
`good_or_bad` tinyint(4) NOT NULL default '1', если = 1 - слово должно быть в строке; если = 0 - слово не должно быть в строке
`word` varchar(25) NOT NULL default '' само фильтрующее слово
)
Если строка прайса подходит, она должна попасть в соответствующую категорию. Структура:
CREATE TABLE `cat0001` (
`id` smallint(6) unsigned NOT NULL auto_increment, номер позиции в категории
`firm_in` smallint(6) unsigned NOT NULL default '0', номер фирмы
`name` varchar(120) NOT NULL default '', текстовое содержание
`price` mediumint(9) NOT NULL default '0', цена позиции
PRIMARY KEY (`id`)
)
Весьма возможно, что я криво спроектировал таблицы.
Посоветуйте, пожалуйста, алгоритм для решения такой задачи.
Сделал через PHP - очень медленно получилось.
Как решить задачу, максимально используюя возможность запросов MySQL (с REGEXP, наверное)?
Заранее спасибо за ответы.


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

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

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



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