У меня есть таблица данных с двумя столбцами, user_id и preference_id.Я изо всех сил пытаюсь выяснить, как вернуть пары user_ids, которые имеют preference_id, и количество любых парных предпочтений.
Я понимаю, что это будет вопрос подзапроса, чтобы сначала найти user_id с preference_id, а затем(в подзапросе) снова проверьте базу данных на предмет нового user_id с тем же preference_id (и который не первый пользователь).Я не могу понять, как построить запрос.
Кажется ли логичным, что мой подзапрос должен быть в разделе select, так как я хочу вернуть два разных user_ids?
---РЕДАКТИРОВАТЬ:
Пример таблицы:
DROP TABLE IF EXISTS `people_preferences`;
CREATE TABLE `people_preferences`
(
`personid` int(11),
`preferenceid` int(11)
);
INSERT INTO `people_preferences` VALUES (1,10),(1,24),(1,38),(2,1),(2,10),(2,38),(3,5),(3,38);
Я считаю, что мне нужно что-то вроде:
select people_preferences.personid,
(select people_preferences.personid where....)
from people_preferences
where people_preferences.personid <> people_preferences.personid;
Но, очевидно, это не такне собираюсь работать, так как это последнее утверждение не сделает ничего разумного.