php - 多个表多列连接到同一个表

标签 php mysql codeigniter join inner-join

我有一个问题。

我在 mysql 数据库中有 3 个表。

我想用这些规则连接我的表,多个表的多列连接到同一个表的一列。

MySQL 例子如下。提前致谢。

SELECT
    s.*,e.* 
    , m1.m_id AS 'mid'
    , m1.m_name AS 'mname' 
    , m2.m_id AS 'bid'
    , m2.m_name AS 'bname'
    , e1.e_id AS 'tid'
    , e1.e_name AS 'tname'
    , e2.e_id AS 'topid'
    , e2.e_name AS 'topname'
    FROM s s,e e
    INNER JOIN m m1
    ON s.s_m_id = m1.m_id
    INNER JOIN m m2
    ON s.s_b_id = m2.m_id
    INNER JOIN e e1
    ON s.s_t_id = e1.e_id
    INNER JOIN e e2
    ON s.s_t_t_id = e2.e_id
    WHERE s_id =1

最佳答案

$this->db->select("s.*,e.* 
    , m1.m_id AS 'mid'
    , m1.m_name AS 'mname' 
    , m2.m_id AS 'bid'
    , m2.m_name AS 'bname'
    , e1.e_id AS 'tid'
    , e1.e_name AS 'tname'
    , e2.e_id AS 'topid'
    , e2.e_name AS 'topname'");
$this->db->from("FROM s");
$this->db->join("m m1
     s.s_m_id = m1.m_id","inner");
$this->db->join("m m2
     s.s_b_id = m2.m_id","inner");
$this->db->join("e e1
    s.s_t_id = e1.e_id","inner");
$this->db->join(" e e2
    s.s_t_t_id = e2.e_id","inner");
$this->db->where('s_id','1');
$this->db->get();

关于php - 多个表多列连接到同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51291079/

相关文章:

mysql - 在数据库中存储用户密码/数据

php - 如何使用 php 的 password_hash() 方法..?

php - Codeigniter 重复 session 问题

Php Imap 获取电子邮件

php - Docker-debian容器中缺少/run/php/php7.3-fpm.sock

php - Selenium 2 (WebDriver) 和 Phpunit?

codeigniter - 如何在 CodeIgniter 中从另一个模型继承一个模型

php - 我如何加入这些表?

MySQL日期函数(假设May-10保存为2010-05-01)

java - jdbc何时填写为executeBatch()编写的准备语句的 '?'