私はいくつかのテーブルを持つデータベースを持っています。そのうちの5つは特定のパブリケーションタイプ専用です。これらの5つのそれぞれは、ステータステーブルと人物テーブルと1対多の関係を持っています。これらのテーブルはすべて、一意の「恥骨」を使用して結ばれています。私は恥ずかしそうな(すべての5つのタイプの)、関連するキーワードを含むビューを持っています。ユーザーがキーワード検索を行い、その結果がこれらの5つのパブリケーションタイプのテーブルのうちの1つ以上にまたがっている場合、私はそれをどのように処理するのか本当に分かりません。複数の1 - >多くの関係を扱うにはどうすればいいですか?
のみ1つのパブリケーションタイプネストされたが、参加して達成するのは非常に簡単だろう(>多くの1-持っていたので、ちょうど1つのテーブル)があった場合は、何かのように:その例で
SELECT * FROM articles
INNER JOIN status ON articles.spubid = status.spubid
INNER JOIN people ON articles.spubid = people.spubid
WHERE people.saffil = 'ABC' ORDER BY people.iorder, articles.spubid;
'articles'は、私が言及した5つのテーブルのうちの1つで、>>多くの関係を持っています。キーワード検索は、記事、書籍、論文を含む検索結果を返します。どのように多くの異なるテーブルで同じ目的を達成できますか?そのような場合にJOINを使用する方法を理解しなければならない場合、デカルト積は非常に大きく、使用可能な形式に解析するオーバーヘッドが高すぎると思います。この場合の私の他の選択肢は何ですか?
5つのテーブルに同じスキーマがありますか?あるいは、5つのテーブルからA、B、...、Zを選択することを実際に探していますか?選択したフィールドA〜Zが5つのスキーマの交差点にありますか? –
現在、ビュー/ mviewsを含むいくつかのソリューションを試しています。 –