ホームページ > データベース > mysql チュートリアル > 複数の同様のテーブルを含む MySQL クエリの「where 句の列 'genre' があいまいです」エラーを解決する方法

複数の同様のテーブルを含む MySQL クエリの「where 句の列 'genre' があいまいです」エラーを解決する方法

Mary-Kate Olsen
リリース: 2024-12-27 13:40:15
オリジナル
263 人が閲覧しました

How to Resolve

同様の構造を持つ複数のテーブルからの 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート