同様の構造を持つ複数のテーブルからの MySQL クエリの列のあいまいさを解決する
提供されたデータベース シナリオには、同一のデータ構造を持つ複数のテーブルが含まれ、それぞれがサービスを提供します。特定のローカリゼーション目的。単一のテーブルからデータをフェッチすることには問題はありませんが、複数のテーブルからデータを結合し、カスタム列で並べ替える場合、タスクは困難になります。 「WHERE 句の列 'genre' があいまいです」というエラーが発生しました。このエラーは、MySQL が WHERE 句内の異なるテーブルの 'genre' 列を区別できないために発生します。
このあいまいさを解決し、目的の結果を達成するにはデータを取得する場合は、UNION 句を使用する必要があります。 UNION 句を使用すると、2 つ以上のクエリの結果を 1 つの結果セットに結合できます。この場合、個別のクエリを使用して、指定された「ジャンル」条件に基づいて各テーブルからデータをフェッチし、その後 UNION 句でこれらの結果を結合できます。
UNION 句を使用した修正された MySQL ステートメントは次のとおりです。
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
このクエリは、まず、'us_music' テーブルから、'genre' 列が次と等しい行をすべて選択します。 「パンク」。次に、同じ「ジャンル」条件を持つ「de_music」テーブルからすべての行を選択します。次に、UNION 演算子はこれら 2 つの結果セットを結合し、重複する行が確実に削除されます。
UNION 句を使用することにより、クエリは列のあいまいさを効果的に排除し、類似したデータを含む複数のテーブルのデータにアクセスして並べ替えることができます。シームレスな構造
以上が複数の同様のテーブルを含む MySQL クエリの「where 句の列 'genre' があいまいです」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。