情況: 我得到消息。新手被張貼在多個類別中。數據庫表關係問題
問題: 如何存儲新聞和類別之間的關係?我應該創建三個表格(新聞,類別,新聞類別)嗎?這是最好的方法嗎?
讓我們來看看例子: 我想查詢最新的新聞數據庫,所以我需要:1。 查詢使用連接來查詢新聞類別 2.循環,查詢獲取類別名稱的消息。
所以,我有10條新聞(10條查詢)×數量的類別=全部查詢。不是太多?
更新
這是我的例子。有三個下面的表格。
-- 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.
我想你的答案是正確的,但我遇到了一些問題實施它。我編輯了我的問題,你會很好,看看嗎? – 2010-11-18 20:04:47
我已更新上面的示例查詢以匹配您的示例表。也許我誤解了你所遇到的問題?你在桌子之間有外鍵嗎? news_categories表中是否有重複項(同一個newsid和同一個categoryid多次)?如果您發佈的查詢不起作用,我很樂意看看它。 – theChrisKent 2010-11-18 20:12:14
已經完成。感謝你的協助。 – 2010-11-18 20:32:45