簡単にするために、ここでは私の問題を理論として説明します。
MATCHESとFIGHTERSの2つのテーブルがあるとします。「ファイターズ」にはファイターのリスト(pk_fighter_id、fighter_name)があり、そのうちの2つは互いにスパーするようにスケジュールできます。「一致」は、おそらくこれらのペアリングを追跡する3フィールドテーブル(pk_fight_num、fk_fighter_id1、fk_fighter_id2)です。Fighter1とFighter2は、Fightersテーブルのエントリを参照する外部キーです。
誰が誰と戦っているのかを示すすべての戦いのリスト、つまり「23123 |Pacquaio|Marquez」を取得する必要があります。しかし、一体どうやってこれに対するクエリを構成するのですか?
私は次のようなものを想像します:
select fk_fighter_id1, fk_fighter_id2
from matches
inner join fighters on matches.fk_fighter_id1=fighters.pk_fighter_id
inner join fighters on matches.fk_fighter_id2=fighters.pk_fighter_id;
Accessでこれをモックアップしようとしたとき、これを一緒に石畳にしましたが、機能しません。
SELECT matches.match_no, fighters.fighter_name, fighters.fighter_name
FROM fighters
INNER JOIN matches ON (fighters.fighter_id = matches.fighter2) AND (fighters.fighter_id = matches.fighter1);
それで、何か考えはありますか?ここからどこへ行けばいいのかわからない。