У меня есть игра, в которой есть команды, состоящие из нескольких пользователей. В каждой команде есть разное количество пользователей, но для любой команды комбинация пользователей делает эту команду уникальной.
Для этого я создал три таблицы базы данных.
Team User TeamUsers
t_id u_id t_id, u_id
Если пользователи 1, 4, 5 и 7 ранее были вместе в команде, я хотел бы знать идентификатор команды этой команды. Как будет выглядеть SQL для этого?
Я экспериментировал с чем-то вроде этого:
SELECT t_id FROM teamusers WHERE u_id IN (users[1], ..., users[i])
GROUP BY t_id HAVING COUNT(t_id) = users[].length;
Массив users
программно заполняется значениями. Это кажется правильным? Есть ли другой способ, который лучше?
t_id
)? - person Erwin Brandstetter   schedule 14.04.2013