【问题标题】:codeigniter join with same columnscodeigniter 加入相同的列
【发布时间】:2014-12-07 02:14:20
【问题描述】:

我正在从事教育项目,我遇到了简单的逻辑。我有两个表月份和学期类型。下面是他们的架构和数据;

月表

month_id    month_name  month_value lupdate
1           January     1   
2           February    2   
3           March       3   
4           April       4   
5           May         5   
6           June        6   
7           July        7   
8           August      8   
9           September   9   
10          October     10  
11          November    11  
12          December    12  

这是我的 term_type 表;

semester_type_id    semester_type_name  start_month end_month
1                   Fall                8           12
2                   Summer              1           4

这是我想要的输出;

Semester Name   Start Month End Month
Fall            August      December
Summer          January     April

我对在两个表中将 month_id 与 start_month 和 end_month 列进行内部连接感到困惑。有人可以帮我查询codeigniter吗

【问题讨论】:

    标签: mysql codeigniter join inner-join


    【解决方案1】:

    将月份表与学期表连接两次

    select s.semester_type_name,
    m.month_name start_month ,
    m1.month_name end_month
    from semester s
    join month m on(m.month_id = s.start_month)
    join month m1 on(m1.month_id = s.end_month)
    

    Demo

    使用codeigniter的活动记录库你可以写成

    $this->db->select('s.semester_type_name,m.month_name start_month ,m1.month_name end_month') 
        ->from('semester s')
        ->join('month m','m.month_id = s.start_month')
        ->join('month m1','m1.month_id = s.end_month')
        ->get()
        ->result();
    

    【讨论】:

    • 谢谢@M Khalid Junaid。这确实有效。但我也想从 term_type 表中获取 start_month 和 end_month 数字
    • @ArifShariati 你可以这样做,只需更改别名select s.semester_type_name,m.month_name smonth ,m1.month_name emonth,s.start_month s.end_month
    • @M Khalid Junaid 有效!非常感谢你亲爱的。拯救了我的一天
    猜你喜欢
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 2014-11-09
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    相关资源
    最近更新 更多