データベースを使用する場合、複数のカンマを含むフィールドに基づいて 2 つのテーブルを結合する必要があるシナリオが発生することがあります。 - で区切られた値。このような場合、従来の結合では十分ではない可能性があります。
カテゴリのカンマ区切り ID を含むカテゴリ列を持つ映画のテーブルがある例を考えてみましょう。目的は、映画テーブルからカテゴリ列を除外し、代わりにカテゴリ テーブルから一致するカテゴリ名を選択し、配列で返すクエリを実行することです。
これを実現するには、次のクエリを利用できます。 :
説明:
FIND_IN_SET 関数は、文字列内で部分文字列が見つかりました。部分文字列が見つかった場合はその位置を返し、それ以外の場合は 0 を返します。この場合、カテゴリ テーブルのカテゴリ ID がムービー テーブルのカテゴリ列に存在するかどうかがチェックされます。
クエリは、GROUP_CONCAT を使用して、各ムービー ID の JOIN 操作によって返されたカテゴリ名を連結します。 m.id によるグループ化により、映画ごとにカテゴリが確実にグループ化されます。
出力:
クエリの出力は次のようになります:
この手法は、カテゴリのカンマ区切りリストに基づいて 2 つのテーブルを効果的に結合し、カテゴリ名を取得できるようにします。配列形式。
以上がカンマ区切りの結合フィールドのリストを使用してテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。