|
MySQL.RU - Webboard
Вернуться
Интересный запрос. Помогайте ! (Владимир) 24/07/2010 - 13:16:34
From: Владимир - 24/07/2010 - 13:16:34
Subject:Интересный запрос. Помогайте !
-----------------
Привет, Друзья.
Задача такая. Есть таблица users с анкетами людей.
userID
name (имя)
sex (м,ж)
color (Цвет волос enum 'Светлые','Черные')
lang (знание языков enum 'Английский','Испанский')
user_compareID (фильтр)
1 | Марина | ж | Светлые | Английский | 1
2 | Алекс | м | Черные | Испанский | NULL
3 | Дима | м | Светлые | Английский | NULL
4 | Стас | м | Светлые | Испанский | NULL
Нужно придумать систему для подбора анкет между собой
Создаем другую таблицу users_compare в которой будем хранить фильтры
user_compareID
param (параметр, например пол или цвет волос, т.е. color или lang)
value (значение параметра)
priority (важность параметра)
1 | sex | м | 1
1 | color | Светлые | 0.5
1 | lang | Испанский | 0.2
(т.е. Марина ищет только парня со светлыми волосами и было бы неплохо, чтобы он еще знал испанский)
Результатом должно быть
4 | Стас | м | Светлые | Испанский | NULL (relev=1+0.5+0.2 = 1,7)
3 | Дима | м | Светлые | Английский | NULL (relev=1+0,5+0 = 1,5)
2 | Алекс | м | Черные | Испанский | NULL (relev=1+0+0.2 = 1,2)
Как написать запрос для вывода анкет по степени соответствия ?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
37302
|
|