2
我有2個表:MySQL的NOT LIKE查詢不工作
- 帖子
- 標籤
標籤表的結構是這樣的:
- POST_ID
- 標籤
因此,對於發佈的每個標籤,我都會在標籤表中創建一條記錄。如果一篇文章有10個標籤,那麼標籤表中會有10條記錄與該post_id。
我現在正在嘗試構建一個搜索頁面,用戶可以在其中搜索標籤不包含給定關鍵字的帖子。但這會產生一個問題。查詢,如:
SELECT DISTINCT posts.id, posts.title, posts.content
FROM jobs, tags
WHERE tags.tag NOT LIKE '%$keywords%' AND posts.id=tags.post_id
不工作,因爲如果一個職位已經得到了6個標籤,其中一人已經拿到了關鍵字,它仍然會返回因爲其他5個記錄標記表中沒有該關鍵字。
什麼來解決這個最好的方法是什麼?除了在posts表中存儲所有用於搜索的逗號分隔標籤的新列以外,還有其他方法嗎?
我只是在張貼的過程中...... :( – Jon 2009-02-01 13:34:36