私は3つのテーブル、メッセージ、件名とmessage_subject_rel
を持っています。アイデアは、多くの主題に関連するメッセージを持つことです。次に、クロス・サブジェクト・サーチを行います。Mysqlでこのクエリを実行するには?
私がメッセージを持っているとしましょう:私はメッセージを検索したい場合は
Id: 1, message_id: 1, subject_id: 1
Id: 2, message_id: 1, subject_id: 2
:
Id: 1, Message: This is a message
2科目:
Id:1, Subject: Math
Id:2, Subject: Science
て行く2つのmessage_subject_rel
のエントリがありますがそれは数学に関連しているので、私は3つのテーブルと簡単な結合を行い、where句は私はどのようにするかわからないが、数学と科学に関連するメッセージを検索することである。 私はのようなもので、テーブルを取得し、単純なに参加しない場合は、次のメッセージの行を
id message user_id created_at ip id message_id subject_id id subject
そして、私はwhere subject = "Math" and subject = "Science"
を行う場合は、各メッセージにのみ、各行に関連した1つの主題を持つことになりますので、私は文句を言わない任意の結果を得るが、重複1件以上の件名を持つ
だから、あなたは何をお勧めしますか?
それはうまくいくかもしれませんが、件名がたくさんあるメッセージがあります。そのためには避けたいのですが、どうなるか見てみましょう – DFectuoso