同一の構造を持つテーブルを結合する際のあいまいな列参照の解決
データベース管理の領域では、複数のテーブルが結合されている状況に遭遇することは珍しいことではありません。データ構造は同じですが、内容が異なります。このようなテーブルを操作し、特定の列に基づいてデータを取得しようとすると、指定されたクエリで説明されているケースのように、「あいまいな列」エラーが発生する可能性があります。
主な課題は、次の操作を試みたときに発生します。 WHERE 句でテーブル名を指定せずに、「genre」などの共通列を使用してこれらのテーブルを結合します。両方のテーブルに「genre」という名前の列が含まれているため、MySQL は比較に使用するテーブルの列を特定できません。
解決策は、2 つ以上の SELECT ステートメントの結果セットを 1 つのテーブルに結合する UNION 演算子を使用することです。単一の結果セット。各 SELECT ステートメントをかっこで囲み、UNION を使用すると、「genre」 = 「punk」条件を満たす各テーブルのレコードをマージできます。
結果のクエリは次のようになります。
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
このアプローチにより、WHERE 句でテーブル名を指定しながら、同じ構造を持つ複数のテーブルからデータを選択的に取得でき、曖昧さを解決して有効にすることができます。 「ジャンル」列に基づいた希望の並べ替え。
以上が同一の構造を持つテーブルを結合する際の「あいまいな列」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。