【问题标题】:Clarification On MySQL Join Query关于 MySQL 连接查询的说明
【发布时间】:2014-07-05 10:07:55
【问题描述】:

我在创建此 JOIN 查询时遇到了一些问题。

表格设置如下

|      tags      ||    tag_links   ||    articles    |
|________________||________________||________________|
 |              |  |              |  |              |
 |      id      |  |  article_id  |  |      id      |
 |   tag_name   |  |    tag_id    |  |              |

有3个表,这是多对多的关系。

  • 目标是找到与给定文章关联的所有标签 身份证。
  • 标签表包含所有标签
  • tag_links 表包含文章和 tags,其中 tag_id 等于 tags 表中的 id,并且 article_id 等于文章表中的 id
  • articles 表包含 id(在其他列中,但 其他列不重要)

我很难过,因为已经提供了文章 ID。我认为查询中甚至不需要这样做,但我现在不知所措。我正在尝试获取与我传入的 article_id 关联的所有 tag_id,然后从我刚刚查询的所有 tag_id 中获取所有 tag_name。

非常感谢任何帮助。谢谢!

【问题讨论】:

  • 它是如此直截了当,我并没有真正看到问题所在。只需加入具有适当条件的表格,并将条件添加到文章 id 上即可。

标签: php mysql join inner-join


【解决方案1】:

这是一个简单的连接,可用于获取给定文章 ID 的标签名称

select distinct t.* from tags t
join tag_links tl on(t.id = tl.tag_id)
where tl.article_id=@id <---- article id 

【讨论】:

  • 这基本上是我一直在尝试的,但不完全是,这是一个漫长的夜晚,这对我帮助很大。我真的很感激帮助。谢谢!
猜你喜欢
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
  • 2021-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
相关资源
最近更新 更多