曖昧な列を持つテーブルの結合: 複数のレプリケートされたテーブルからのデータの選択
構造は同じだが分離されている複数のテーブルからデータを取得するという課題ローカライゼーションの場合、WHERE 句で列を指定するときにあいまいさが生じます。 MySQL は、クエリ内の「ジャンル」などのあいまいな列を比較するときに、どのテーブルを参照するかを決定できません。
解決策: UNION 演算子を利用します
このあいまいさを解決するには、UNION 演算子を使用できます。 UNION は 2 つ以上の SELECT ステートメントの結果を結合し、個々のテーブルのすべての行を結合した仮想テーブルを効果的に作成します。
変更されたクエリ:
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
説明:
この変更されたクエリは、関係するそれぞれの SELECT ステートメントを分離します。 テーブル。各サブクエリは特定のテーブルからデータを取得し、「ジャンル」列の参照に曖昧さが存在しないことを保証します。次に、UNION 演算子は結果を 1 つの結果セットに結合し、複数のテーブルから必要なデータを提供します。
以上が同一であいまいな列を持つ複数のテーブルからデータを選択するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。