首先,我想知道哪个是我数据库中标签和类别的最佳实现。所以我在other question中找到了最好的方法:
Table: Item
Columns: ItemID, Title, Content
Table: Tag
Columns: TagID, Title
Table: ItemTag
Columns: ItemID, TagID
现在我想知道如何从数据库中获得最佳性能信息。所以,让我说我做了一个选择,现在我有一堆“ItemID”,并想知道这些元素有哪些标签。那么您如何构建这样的算法如下:
For each ItemID
Do whatever I wanna do first
SELECT Tag ID from table ItemTag Where ItemID
For each unique TagID
SELECT Title from table Tag Where TagID
Print on screen tag name
你认为这是一个很好的解决方案吗?还有另外一个简单但有更好的表现方式吗?
答案 0 :(得分:0)
您可以使用join
和group_concat()
:
select itemId, group_concat(t.title)
from ItemTag it join
tag t
on it.TagId = t.TagId
group by itemId;
如果您只想为特定项目添加标签,可以添加where
子句。