1対多の関係を維持しているMySQLテーブルがあります。このテーブルは、フーズボール統計プログラムのパートナー リストを格納するためのものです。プレイヤーは、0、1、または 2 人のパートナーを持つことができます。
例えば:
___________________________________
| Table index | Partners | Players |
| 1 | 1 | John | - Singles, no partners
| 2 | 2 | John | - Doubles, John and Bob
| 3 | 2 | Bob | - Doubles, John and Bob
| 4 | 3 | Dave | - Roto doubles, Dave, Bob, John
| 5 | 3 | Bob | - Roto doubles, Dave, Bob, John
| 6 | 3 | John | - Roto doubles, Dave, Bob, John
| 7 | 4 | Dave | - Singles, no partners
____________________________________
テーブルからパートナーを追加および取得するための PHP スクリプトを作成していますが、クエリに問題があります。私はプレーヤーを知っており、パートナー フィールドを取得したいと考えています。実行する必要があるクエリは 3 つあります。
- パートナーがいないことを確認してください - シングル;
- 特定のパートナーを確認する - "Dave" とのダブルス。
- 2 つの特定のパートナーを確認します - 「ボブとデイブ」とのダブルス。
エントリが存在する場合はそれを取得し、存在しない場合はそのエントリをテーブルに追加します。私が抱えている問題の 1 つは、たとえば、プレイヤー "John" が 3 つのエントリ、パートナーなし、1 つのパートナー、および 2 つのパートナーを持っていることです。エントリ 1 のみを抜き出し、2 や 6 を抜き出すように指定するにはどうすればよいですか?
ここで検索したところ、近いが必要なものではない例がいくつか見つかりました。この 1 つのmySQL: 1 対多のテーブルをクエリしていますか? ほとんど私が必要とすることをしますが、完全ではありません。
どんな助けでも大歓迎です。
クリス