我有一个游戏,我的团队包含许多用户。每个团队中有不同数量的用户,但对于任何团队来说,用户的组合使该团队独一无二。
我为此创建了三个数据库表。
Team User TeamUsers
t_id u_id t_id, u_id
如果用户 1、4、5 和 7 以前一起在一个团队中,我想知道该团队的团队 ID。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
数组以编程方式填充值。这看起来正确吗?还有其他更好的方法吗?