查询从相关表中获取数据

时间:2017-03-13 19:20:00

标签: php mysql codeigniter codeigniter-3

我有3张桌子。

galery_images

  • id | int(primari key)
  • 图片| varchar(服务器上的链接)
  • tartalom | LONGTEXT
  • galery | INT
  • 订购| INT

galery

  • id | int(primari key)
  • 名称| VARCHAR
  • tartalom | LONGTEXT

与图像的1-n关系

galery_category

  • id | int(primari key)
  • 名称| VARCHAR

n-1与galeries的关系

我要求提供图片,然后我想在一个查询中获取所有相关数据。我需要所有的列,也就是1个图像,1个galery和所有类别。

我使用的是codeigniter,所以我也想知道在检索类别时我遇到了什么。

1 个答案:

答案 0 :(得分:1)

假设galery链接galery_imagesgalery表之间的列,name链接galerygalery_category表之间的列,您可以使用以下查询。

SELECT gi.image, gi.tartalom, gi.galery, gi.order, g.tartalom, gc.name
FROM galery_images gi JOIN galery g ON gi.galery = g.name
JOIN galery_category gc ON g.name = gc.name
WHERE gi.image = ? //Other conditions

请注意,由于1-many关系,它会返回同一张图片的多条记录。