php - 如何从连接 5 个不同表的 mysql 数据库检索数据

标签 php mysql inner-join

我试图从 5 个不同的表中的 mysql 数据库中检索数据,但它没有按预期工作,并且没有显示任何内容。

表格是:

  • 网站信息
  • 站点坐标
  • 所有者信息
  • 分包商信息
  • 公司信息

网站信息:

  • 站点ID
  • 公司ID -站点名称
  • 所有者ID
  • 分包商ID
  • 设备类型

站点坐标:

  • 站点ID

  • 纬度

  • 经度

  • 高度

所有者信息:

  • 所有者ID
  • 所有者姓名
  • 所有者联系

分包商信息:

  • 分包商ID
  • 分包商公司
  • 分包商NAME
  • 分包商联系

公司信息:

  • 公司ID
  • 公司名称

mysql查询:

select 
     site_info.siteID,site_info.siteNAME ,site_info.equipmentTYPE,site_coordinates.latitude,site_coordinates.longitude,site_coordinates.height ,owner_info.ownerNAME,owner_info.ownerCONTACT,company_info.companyNAME,subcontractor_info.subcontractorCOMPANY,subcontractor_info.subcontractorNAME,subcontractor_info.subcontractorCONTACT   
from `site_info`
INNER JOIN `owner_info`
  on site_info.ownerID = owner_info.ownerID
INNER JOIN `company_info`
  on site_info.companyID = company_info.companyID
INNER JOIN `subcontractor_info`
  on site_info.subcontractorID = subcontractor_info.subcontractorID
INNER JOIN `site_coordinates`
  on site_info.siteID=site_coordinates.site_id
where owner_info.ownerID = 159

我的错误在哪里,有没有更好的方法来做到这一点?

最佳答案

我解决了,只需更改为 LEFT JOIN 即可。

更新后的查询看起来:

select 
site_info.siteID,site_info.siteNAME ,site_info.equipmentTYPE,site_coordinates.latitude,site_coordinates.longitude,site_coordinates.height ,owner_info.ownerNAME,owner_info.ownerCONTACT,company_info.companyNAME,subcontractor_info.subcontractorCOMPANY,subcontractor_info.subcontractorNAME,subcontractor_info.subcontractorCONTACT from `site_info`
LEFT JOIN `owner_info`
on site_info.ownerID = owner_info.ownerID 
LEFT JOIN `company_info` 
on site_info.companyID = company_info.companyID
LEFT JOIN `subcontractor_info` 
on site_info.subcontractorID = subcontractor_info.subcontractorID
LEFT JOIN `site_coordinates` 
on site_info.siteID=site_coordinates.siteID 
where owner_info.ownerID = 159 

感谢您的评论和回答

关于php - 如何从连接 5 个不同表的 mysql 数据库检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42276175/

相关文章:

php - 切换 Div Jquery

mysql - sql子查询解释

php - 无法使用 mysql 和 php 从我的数据库读取第一行

database - TYPO3 Extbase 中的内连接

当第二个为空时 SQL 内部连接在一个字段上,当第一个为空时在第二个字段上连接

php - 将数组的所有行插入MySql表 - Codeigniter相关

php - 如何将 session 变量添加到数据库中?

php - WordPress is_home() 未按预期工作

mysql - 如何将 2 列分组以仅获取唯一行的最新版本?

MySQL INNER JOIN 使用