php - 查询以从相关表中获取数据

标签 php mysql codeigniter codeigniter-3

我有 3 张 table 。

galery_images:

  • id | int(主键)
  • 图像 | varchar(服务器上的链接)
  • 塔塔洛姆 |长文本
  • 画廊 |整数
  • 订单 |整数

画廊:

  • id | int(主键)
  • 姓名 | varchar
  • 塔塔洛姆 |长文本

与图像的1-n关系

galery_category:

  • id | int(主键)
  • 姓名 | varchar

与画廊的n-1关系

我正在请求一张图像,然后我想在单个查询中获取所有相关数据。我需要所有列,即 1 个图像、1 个画廊和所有类别。

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

最佳答案

假设 galerygalery_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

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

关于php - 查询以从相关表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42771757/

相关文章:

MySQL binlog_expire_logs_seconds 不起作用

mysql - 在 codeigniter 中使用 $this->db->e​​scape 时如何防止单引号

php - 使用图像链接更新查询

php - Laravel 和 Blade 错误

php - 缩略图分页的想法

php - 缓存系统如何为网站工作

php - 加入后分组结果?

javascript - 验证时,下拉框应该是彩色的,而不是警告框

mysql - 从两个表中选择的 SQL 查询。

php - mySQL 仅选择大于零的列