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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-27 13:40:15335ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。