我正在構建一個StackOverflow迷你克隆。我有以下數據庫關係:交集表和查詢和MySQL
questions
- question_id
- title
tags
- tag_id
- name
question_tags
- foreign key tag_id
- foreign key question_id
假設這是組織標記系統的正確方法。
現在,我該如何查詢與標籤'Java的所有問題,並在同一時間,列出這些問題的時候,也顯示,每個問題與相關聯的所有標籤?
我覺得非規範化,並把一個額外的字段爲問題,說爲tag_string,這將有標籤爲CSV的列表,這樣我就可以有這種情況下,簡單的查詢。
當然,它呈現出一個問題時,是沒有問題的:
SELECT * FROM questions LEFT OUTER JOIN question_tags USING(question_id)
LEFT OUTER JOIN tags USING(tag_id)
WHERE question_id = 42;