codeigniter连接相同的列

时间:2014-10-12 10:46:44

标签: mysql codeigniter join inner-join

我正在从事教育项目,在那里我遇到了简单的逻辑。我有两个月月和semester_type。下面是他们的架构和数据;

月表

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  

这是我的semester_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查询帮助我

1 个答案:

答案 0 :(得分:3)

用你的学期表加入月份表两次

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();