PHP / MySQL:如何从链接表链接的 2 个表中查询数据

我创建了 3 个 MySQL 表,其中最后一个的目的是使前两个表之间的 n:m 关系成为可能:


EVENT

event_id

event_name


TAG

tag_id

tag_name


EVENT2TAG

event_id

tag_id

现在我很难用 PHP 创建一个 MySQL 查询,它会生成所有事件及其各自标签的列表,例如像这样:


<div>

  <h1>My first event</h1>

  #show

  #expo

  #freefood

</div>

        

<div>

  <h1>Another, even better Event</h1>

  #show

  #tv

  #conference

  #freedrinks

</div>

        

<div>

  <h1>Lame event</h1>

  #expo

  #boring

</div>

我怎么做?


慕哥6287543
浏览 98回答 1
1回答

守候你守候我

您只想加入吗?select e.event_name, t.tag_namefrom event einner join event2tag et on et.event_id = t.e.event_idinner join tag t on t.tag_id = et.tag_idorder by e.event_id, t.tag_id这为每个事件/标签元组提供一行及其关联的名称。您可以迭代应用程序中的结果来显示结果。您可能还对每个事件生成一行感兴趣,并将所有标签聚合在以逗号分隔的字符串中:select e.event_name, group_concat(t.tag_name order by t.tag_id) all_tagsfrom event einner join event2tag et on et.event_id = t.e.event_idinner join tag t on t.tag_id = et.tag_idgroup by e.event_id, e.event_name
打开App,查看更多内容
随时随地看视频慕课网APP