【问题标题】:Query to get data from relating tables查询以从相关表中获取数据
【发布时间】:2017-03-13 19:19:59
【问题描述】:

我有 3 张桌子。

galery_images

  • 标识 | int(主键)
  • 图片 | varchar(服务器上的链接)
  • 鞑靼 |长文本
  • 画廊 |诠释
  • 订购 |诠释

画廊

  • 标识 | int(主键)
  • 姓名 | varchar
  • 鞑靼 |长文本

与图像的 1-n 关系

galery_category

  • 标识 | int(主键)
  • 姓名 | varchar

与画廊的n-1关系

我要一张图片,然后我想在一个查询中获取所有相关数据。我需要所有的列,也就是 1 张图片、1 个画廊和所有类别。

我正在使用 codeigniter,所以我也想知道我在检索类别时面临什么。

【问题讨论】:

  • 错字提示:这是一个画廊 - 中间有两个 "l" ...
  • 你的主键是什么?
  • 没有错别字,这是我写表名的方式而且,是的,你是对的,我确实忘记添加主键,尽管那里的答案令人满意。

标签: php mysql codeigniter codeigniter-3


【解决方案1】:

假设galerygalery_imagesgalery 表之间的链接列,namegalerygalery_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

请注意,由于一对多的关系,它将返回同一图像的多条记录。

【讨论】:

    猜你喜欢
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多