状況: 私はニュースを得ました。 NEwsは複数のカテゴリに掲載されています。データベーステーブル関係の問題
問題: ニュースとカテゴリの関係を保存する方法は? 3つのテーブル(ニュース、カテゴリ、ニュースカテゴリ)を作成する必要がありますか?これが可能な最良の方法ですか?
のは例を見てみましょう: は、私は最新のニュースをデータベースに照会したいので、私は行う必要があります。カテゴリ名を取得するには、ニュースカテゴリのループで 2.クエリを照会するために結合を使用してニュースを 1.クエリを。
したがって、10個のニュース(10個のクエリ)X個のカテゴリ=合計クエリがあります。多すぎない程度に?
更新
これは私の例です。次の3つの表があります。
-- news --
ID
Title
-- categories --
ID
Name
-- news_categories --
ID
NewsID
CategoryID
私が使用するクエリに関係なく、すべてのプロジェクトとプロジェクトのカテゴリ名が正しく返されますが、カテゴリの数に応じてプロジェクトは数回表示されます。私はあまりにも疲れているかもしれませんが、何か解決策が見えません。
アップデート2
は、ここに私のクエリです:
SELECT N.Title, C.Name
FROM x_news_categories AS NC
INNER JOIN x_news AS N
ON N.ID = NC.NewsID
INNER JOIN x_categories AS C
ON C.ID = NC.CategoryID
、ここではその結果です:
Title Name
Test PHP
Test2 MySQL
Test2 CSS
は、誰もがその問題を解決するためにどのように任意の提案を持っていますか?
よろしく、M.
あなたの答えは正しいと思いますが、それを実装する際に問題があります。私は私の質問を編集しました、あなたはとても素敵で見てみませんか? –
上記のサンプルクエリをサンプルテーブルに合わせて更新しました。おそらく私はあなたが持っている問題を誤解していますか?あなたはテーブルの間に外部キーを持っていますか? news_categoriesテーブルに同じ重複がありますか(同じニュースIDと同じcategoryIDを複数回)?うまくいかないクエリを投稿すると、私はそれを見てうれしいです。 – theChrisKent
既に完了しました。ご協力いただきありがとうございます。 –