関連する 3 つの DB テーブルがあります。
プレイヤー
P1
P2
P3
P4
P5
.....
チーム
T1
T2
T3
T4
T5
....
Player_Team
T1 P1
T1 P2
T1 P3
T1 P4
T2 P1
T2 P2
T2 P3
......
いいえの複数の組み合わせを考慮してください。プレーヤーの。また、プレイヤーは複数のチームに所属することができます
Ex. (P1 P2 P3 P4), (P1 P2 P3), (P1 P2), (P1 P3), (P2 P3) .. so on
私のアプリでは、特定の試合でチームとしてプレーしている一連のプレーヤーを取得します。このセットを考えると、彼らが所属する共通のチームを見つけたいと思います。複数のチームに所属している場合でも、このセットのプレーヤーのみを含むチームは一意になります。したがって、上記の例では、プレーヤー P1 P2 P3 および P4 を持つチームは 1 つだけです。しかし、チームに P1 P2 P3 の 3 人のプレーヤーしかいない場合、複数の共通チームがあります。なぜなら、組み合わせ T1(P1 P2 P3 P4) T2(P1 P2 P3) があるからです。もちろん、T1 には P4 があるので数えるべきではありませんが、正確にはどのようにすればよいのでしょうか?
これを簡単かつ効率的に行う方法 (SQL クエリまたはプログラム ロジック) を提案できますか? 共通のチーム名 (つまり T2) を取得する SQL 関数はありますか?
どんな助けでも大歓迎ですか?