0
考慮下面的表格結構:幫助MySQL查詢
users (user_id, ...)
images (image_id, user_id, ...)
tag_links (tag_id, image_id)
tags_names (tag_id, tag_name)
比方說,任何給定的user_id
已在images
表中的多個圖像,並且圖像具有存儲在tag_links
多個標籤。
我怎樣才能加入這些表格,以獲得所有圖像上任何給定的user_id
所使用的所有tag_name?這些查詢(連接多個表)是否緩慢並且不被推薦,或者這樣做是否很常見?
謝謝。
+1。如果查詢不需要用戶表中的任何內容(例如用戶名等),那麼您可以跳過對錶用戶的加入。如果您想刪除重複的標籤,您可能還需要DISTINCT標籤名稱。 – StuartLC
thx @nonnb,錯過了他不需要用戶表。 – Jacob
@cularis真的很感謝,但正如你所說,我的設計只有在標籤可以有多個名稱時纔有意義,否則我應該在tag_links中添加一列。你的意思是,tag_names不是必需的,我應該有三列的tag_links表:tag_id,tag_name和image_id。但我的想法是,由於標籤(例如「java」)可用於不同的圖像。因此,如果我只有一張桌子,我需要爲每張圖片的相同標籤添加新行。還是你的意思是別的? – Roman