选择2个表mysql的最佳方法

时间:2014-09-13 21:01:41

标签: php mysql select

PHP + MYSQL

我有两张桌子:

  • “发布”栏目:[id,comment]
  • “images”列:[id,post,image]

我需要在我的html页面中显示帖子,每个帖子中都有图片。例如:


我的第一篇帖子评论(这篇文章有一张图片)

  • image 1

我的第二篇帖子评论(这篇文章有三张图片)

  • image 1
  • image 2
  • image 3

我的第三篇文章(这篇文章有两张图片)

  • image 1
  • image 2

...

这样做的一种方法是:对于每个帖子,转到数据库并获取图像......但我认为由于对数据库的访问越少越好......如何进行选择?

(我希望每个POST一行......)是否有可能?

结果示例:

栏目后 - 栏目图像

“我的第一篇文章” - “image1.jpg,image2.jpg,image3.jpg”

还有另一种更好的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

加入两张桌子就可以得到你想要的东西。你应该只按邮政编码订购,就是这样

SELECT POST.ID AS POST_ID, P.COMMENT, IMAGES.IMAGE
FROM POST
JOIN IMAGES ON IMAGES.POST = POST.ID
ORDER BY POST.ID

答案 1 :(得分:1)

只需使用GROUP_CONCAT来连接与一个帖子相关的多个图片,如下例所示:

SELECT POST.ID AS POST_ID, GROUP_CONCAT(IMAGES.IMAGE) AS IMAGES
FROM POST
JOIN IMAGES ON IMAGES.POST = POST.ID
GROUP BY POST.ID
ORDER BY POST.ID
相关问题