ホームページ > バックエンド開発 > PHPチュートリアル > mysqlでの複数のテーブルの結合についての質問です。

mysqlでの複数のテーブルの結合についての質問です。

WBOY
リリース: 2016-07-06 13:53:17
オリジナル
1153 人が閲覧しました

ユーザー名を通じてユーザーテーブルにクエリを実行してユーザー ID を取得し、ユーザー ID を通じてコメントテーブルにクエリを実行してこのユーザーのすべてのコメントを取得し、コメントの tid フィールドを通じてトピックテーブルにクエリを実行して、投稿を取得したいコメントの場所を確認し、投稿の作成者からそのコメントを取得します。

ここで問題が発生します。ユーザーテーブルからクエリを開始し、コメントテーブルとトピックテーブルをそれぞれ結合しました。その後、投稿uidを通じて投稿作成者を確認するときに、ユーザーテーブルからユーザー名を再度確認する必要があります。今回のユーザー名は、投稿を公開した作成者のユーザー名を指しますが、最初に渡されたユーザー名ではありません。

mysql がプロンプトを表示し続ける where 句の列 'username' があいまいです

なぜ...

返信内容:

ユーザー名を通じてユーザーテーブルにクエリを実行してユーザーIDを取得し、ユーザーIDを通じてコメントテーブルにクエリを実行してこのユーザーのすべてのコメントを取得し、コメントのtidフィールドを通じてトピックテーブルにクエリを実行して、投稿を取得したいコメントの場所を確認し、投稿の作成者からそのコメントを取得します。

ここで問題が発生します。ユーザーテーブルからクエリを開始し、コメントテーブルとトピックテーブルをそれぞれ結合しました。その後、投稿uidを通じて投稿者を確認するときに、ユーザーテーブルからユーザー名を再度確認する必要があります。ユーザー名が参照する時間 投稿を公開した作成者のユーザー名は、最初に渡されたユーザー名ではありません。

mysql がプロンプトを表示し続ける where 句の列 'username' があいまいです

なぜ...

テーブルを結合する場合、クエリ フィールドは、どのテーブルに属しているかを明確に示す必要があります。例:
SELECT(a.username,a.id,b.,c.) FROM user AS a
LEFTJOIN comment AS b ON a。 id = b.uid
LEFTJOIN トピック AS c ON b.tid = c.id

SQL を投稿できますか? SQL の場合、2 つのユーザー テーブルにそれぞれエイリアスを定義する必要があります。それ以外の場合、where で username 列が報告されます。 ' where 句があいまいなエラーです。where 条件には alias.username を使用してください

リーリー

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