列に複数のカンマ区切りの値を含むクエリ テーブル
このシナリオでは、カンマを含む列を持つテーブルがあります。値が区切られているため、その列に対して特定の値をクエリするという課題に直面しています。このジレンマは、複数の値が同じセルに格納されている場合に発生し、単純な SQL フィルターを使用して特定の値を正確に見つけることが困難になります。
この問題に対処するための実行可能なアプローチは、以下を作成してデータベース スキーマを正規化することです。子供の名前については別の表を用意します。これにより、子の ID または名前に基づいてテーブルを結合できるようになり、データの正確なフィルタリングと取得が可能になります。
スキーマの再構築が不可能な場合は、SQL クエリで FIND_IN_SET 関数を利用することもできます。この関数を使用すると、列に格納されているカンマ区切りリスト内の特定の値を検索できます。この関数を実装すると、クエリを調整して、子列内に目的の値が存在する行を特定できます。
たとえば、この例では、次のクエリを実行して、 という名前の子を持つ親を検索できます。 "Alex":
SELECT * FROM table_name WHERE FIND_IN_SET('Alex', children);
このアプローチを使用すると、同じ列に複数の名前が存在する場合でも、カンマ区切りの列に格納された特定の値に基づいてデータを効率的に検索して取得できます。セル。
以上が列にカンマ区切りの値を含むテーブルをクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。