MySQL の結合操作を使用すると、共通キーに基づいて複数のテーブルの行を結合できます。特定のシナリオでは、テーブルをそれ自体と 2 回結合する必要がある場合があります。この手法は、クエリ結果で同じテーブルの複数の列を表示するためによく使用されます。
ドメインとレビューという 2 つのテーブルを持つデータベースを考えてみましょう。ドメイン テーブルには、ドメイン ID (dom_id) とドメイン名 (dom_url) が含まれています。レビュー テーブルには、レビューに関係する「from」ドメインと「to」ドメインのドメイン ID (rev_dom_from、rev_dom_to) が含まれています。
レビューごとに両方のドメイン名を表示するには、ドメイン テーブルを 2 回結合する必要があります。 .
これを実現するには、必要な結合ごとに LEFT JOIN を使用します。この例では、わかりやすくするために、ドメイン テーブルに toD および fromD というエイリアスを付けます。
SELECT toD.dom_url AS ToURL, fromD.dom_url AS FromUrl, rvw.* FROM reviews AS rvw LEFT JOIN domain AS toD ON toD.dom_id = rvw.rev_dom_for LEFT JOIN domain AS fromD ON fromD.dom_id = rvw.rev_dom_from;
以上がMySQL クエリで同じテーブルを 2 回結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。