php - mysql连接第三个表,其中FK未直接链接

标签 php mysql codeigniter join

我有 3 张 table ,

一张表有第二张表的FK数据,第二张表有第三张表的FK。

现在我想通过连接第三个表来获取第一个表的数据,但是第一个表和第三个表没有直接链接,

下面是我的 codeigniter 模型,

public function openinfo($openid)
{
    $this->db->join('sc_users', 'sc_users.user_id = sc_class.user_id','INNER');
    $this->db->join('sc_companies', 'sc_companies.company_id = sc_class.company_id','LEFT');
    $this->db->where('sc_class.open_id', $openid);
    return $this->db->get('sc_class')->row();
}

sc_users 具有名为 sc_usergroupid 的 FK,它是名为 sc_usergroups 的表的 PK,

当上述模型函数运行时,我想获取 sc_usergroupname 的值,它是 sc_usergroups 表的列。

简单来说,这是3N张数据表,想要取记录, 我可以轻松地通过许多连接连接多个表,但引用第三个表。 如何获得它,

谢谢

最佳答案

您的问题不是很清楚,因为您没有指定第三个表的名称和描述。第二个表真的是 sc_usergroups ,第三个表真的是 sc_usergroup 吗?正如您在问题中所提到的那样?这看起来有点奇怪,但基于此我做了下面的 MySQL 查询。这个想法是在 WHERE在子句中,您从表 1 中选择用户,然后将 1 连接到 2,然后将 2 连接到 3,然后在 SELECT 中请求 1 和 3 中的值。声明的一部分。

SELECT su.name, sug.name 
FROM sc_users su, sc_usergroups sugs, sc_usergroup sug 
WHERE 
  su.user_id = 1 AND 
  su.sc_usergroupid = sugs.usergroupsid AND 
  sugs.sug_usergroupid = sug.usergroupid 

关于php - mysql连接第三个表,其中FK未直接链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961628/

相关文章:

php - CodeIgniter 中的 "repeatedly"xss-clean 数据可以吗?

php - 不在 PHP mysQL 中显示搜索结果

php - 在加载网页时向用户显示消息

javascript - 我想将这个 echo block 中的 php 字符串的值大写

sql - 以简单的数据库架构 : Good and Bad points? 为例

php - 在 codeigniter 中编写查询的格式

php - fatal error : Call to a member function fetch_assoc() on a non-object

mysql - Doctrine2 - 使用分组方法添加每个月的总计

php - 用户元表上的 WordPress 管理员电子邮件更新

PHP:从 POP3 或 IMAP 下载收到的电子邮件,解析它,并在服务器上将其标记为已读/删除