カンマ区切り値を使用した複数の結合フィールドのクエリ
SQL で、カンマ区切りリスト (CSV) を含むテーブルを処理する場合それらのフィールドでは、結合を効果的に実行することが難しい場合があります。この記事では、映画テーブルのカテゴリ列に複数のカテゴリ ID が含まれる特定のシナリオについて説明します。目標は、カテゴリ テーブルから対応するカテゴリ名を取得する際に、カテゴリ ID を完全に除外することです。
次の表は、このシナリオを示しています。 :
Table categories: -id- -name- 1 Action 2 Comedy 4 Drama 5 Dance Table movies: -id- -categories- 1 2,4 2 1,4 4 3,5
目的の結合を実行するには、find_in_set() 関数を group_concat() 操作と組み合わせて利用できます。クエリは次のとおりです:
select m.id, group_concat(c.name) from movies m join categories c on find_in_set(c.id, m.categories) group by m.id
Query 説明:
結果の出力には、ムービー ID と対応するカテゴリ名が配列形式で表示されます。これにより、映画テーブルの CSV をデコードしなくても、関連するカテゴリに簡単にアクセスできるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3