php - MySQL 查询标签系统,仅选择使用过的标签

标签 php mysql tags

我有一个用 PHP 和 MySQL 实现的标记系统,具有下表:

表:blog_tags

  • tag_id
  • 标签名称

表:blog_tags_assoc

  • tag_assoc_id
  • article_id
  • tag_id

表:blog_articles

  • article_id
  • 文章标题
  • 文章内容

我使用多对多关系将它们全部链接起来 (引用类似的内容:How to store tags in MySQL tags, one field in total or one filed for each tag?)

我现在想做的是进行一个 MySQL 查询,从 blog_tags 中选择 blog_articles 中的文章实际引用的所有标签。

到目前为止,我知道“HAVING”是我可能会使用的东西......但我不确定如何使用? 任何想法或建议都将受到欢迎。谢谢!

最佳答案

如果您只想知道文章中使用过的标签,那么您可以简单地这样做:

SELECT DISTINCT tag_id, tag_name
FROM blog_tags
INNER JOIN blog_tags_assoc USING ( tag_id );

关于php - MySQL 查询标签系统,仅选择使用过的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604509/

相关文章:

php - 从外部页面抓取 DIV 内的特定元素

mysql默认值

php - PDO MYSQL 不存在创建表,查看是否已创建

php - 如何在 Laravel Horizo​​n 中使用标签

php - 内连接只从mysql中选择两条记录

php - 启用<textarea>显示HTML内容,例如粗体,斜体,颜色,img标签

mysql - 通过比较所有列如果数据为空则更新列

cocoa - 获取所有文件系统标签

html - css 中的标题标签创建新行

PHP - 假定应用程序/x-www-form-urlencoded 未指定内容类型