Я пытаюсь создать в MySQL своего рода базу данных, соответствующую «личностям».
Мне нужно сравнить конкретного человека в таблице «Члены» со всеми остальными в той же таблице.
Каждая строка (человек) в таблице содержит несколько столбцов с информацией (возраст, местоположение, религия и т. Д.).
Мне нужен запрос для ссылки на таблицу, которая содержит мои «веса» для каждого столбца.Другими словами, я хочу сказать, что «местоположение важно в 75, возрастной диапазон очень важен в 100, а религия не важна в 10».
Таблица членов
+----+-------+----------+----------+-----+----------+
| ID | Name | Location | Religion | Age | AgeRange |
+----+-------+----------+----------+-----+----------+
| 1 | Joe | LA | Athiest | 40 | 30-40 |
+----+-------+----------+----------+-----+----------+
| 2 | Mary | LA | Agnostic | 35 | 35-45 |
+----+-------+----------+----------+-----+----------+
| 3 | Karen | NYC | Athiest | 45 | 30-35 |
+----+-------+----------+----------+-----+----------+
| 4 | Lisa | LA | Hindu | 30 | 45-55 |
+----+-------+----------+----------+-----+----------+
Таблица весов (насколько важен параметр)
+----+-----+----------+----------+
| ID | Age | Location | Religion |
+----+-----+----------+----------+
| 1 | 100 | 75 | 10 |
+----+-----+----------+----------+
За последние 2 дня я пробовал много вещей, но последний запрос, с которым я пытался поиграть, был следующим:не очень полезный.Также не указывается «лицо», с которым будут сравниваться эти записи.
SELECT a.first_name,
g.name,
a.age* g.age+
a.location* g.location+
a.religion * g.mwReligion AS metric
FROM members a, weight g
ORDER BY metric DESC;
Мой предполагаемый вывод будет выглядеть так:
Joe Matches:
Мэри - Оценка = 285
(100, потому что она в его AgeRange + 100, потому что он в ее AgeRange + 75 для Места + 10 для религии)
Лиза - Оценка = 175 (100, потому что она в егоAgeRange + 75 для местоположения)
Карен - Оценка = 10 (Только религия соответствует)
*** ОГРОМНОЕ СПАСИБО ИМПЕЛЯРУ И ЛИПКОЙ БИТ ЗА ИХ ПОМОЩЬ НА ЭТОМ !!!