dsfjk44656 2012-03-29 16:50
浏览 17
已采纳

有没有办法将关联查询显示为行?

I have three tables, like this:

#Blog:
ID | Title
1    "My first blog"
2    "My second blog"

#Tags:
ID | Name
1   "Sport"
2   "Music

#tag_blog
Blog_id |   Tag_id
1           1
2           1
2           2

And I want to display them in my web page as

Blog_title  Tag_name
My first blog   Sport
My second blog  Sport, Music

in php file am doing somthing like

if ($query->num_rows() > 0)
{
   foreach ($query->result() as $row)
   {
      echo $row->title;
      echo $row->tag;
   }
}

But as I use a join, its display 3 lines with 1 tag by lines. Any idea to get the expected results?

  • 写回答

1条回答 默认 最新

  • dragon4587 2012-03-29 16:57
    关注

    Uou should use aggregate GROUP_CONCAT function -

    SELECT b.Title AS Blog_title, GROUP_CONCAT(t.name) AS Tag_name FROM Blog b
      JOIN tag_blog tb
        ON tb.Blog_id = b.Blog_id
      JOIN Tags t
        ON t.Tag_id = tb.Tag_id
    GROUP BY b.ID
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)