我正在为我的网站实施一个标签系统,使用 PHP + MySQL。
在我的数据库中,我有以下三个表(所谓的“Toxi Solution”):
帖子
- 身份证
- 日期时间
- ...
标签
- 身份证
- 标签
- 蛞蝓
标签映射
- 身份证
- 标签
哪里:
- Id = 帖子中帖子的 ID
- Tag = 标签中的标签 ID
每个帖子都可能(在 TagsMap 中)有一个或多个与之关联的标签。
现在我需要选择与最近发布的 20 个帖子相关联的所有标签。
我试过了
SELECT T.Slug,T.Tag
FROM Posts A,TagsMap TM,Tags T
WHERE (SELECT Id from Posts WHERE DateTime <= NOW() ORDER BY Id DESC LIMIT 20)
AND T.Id = TM.Tag
AND A.Id = TM.Id
但我明白
#1242 - Subquery returns more than 1 row
这就是我卡住的地方(我对 MySQL 的经验不是很丰富)。
你能给我什么建议吗?