使用codeigniter从两个表中获取记录,其中来自第一个表

时间:2017-03-18 10:23:31

标签: php mysql codeigniter

我有两张桌子:

  1. 学生[id,studname,school,bid,...]
  2. 出勤[id,sid,bid,attenDate,...]
  3. sid:学生编号 出价:批次ID

    我正在尝试从批次Student表和同一批特定日期的attendance获取记录。

    但我正在student获取id attendance的记录/列表。

    学生表:

    Student Table

    出勤表:

    Attendance Table

    在这两种情况下,我只得到两个记录。我期待3个学生名单。

    SELECT * FROM students s LEFT OUTER JOIN attendance a ON s.id = a.sid WHERE s.bid=1 AND a.attenDate='2017-03-18'
    
    $condition = ['s.bid'=>$bid,'a.attenDate'=>$adate];         
    $listattend = $this->db->select('*')
                           ->from('students s')
                           ->join('attendance a', 's.id = a.sid', 'right outer')
                           ->where($condition)
                           ->get();                                 
    return $listattend->result();
    

1 个答案:

答案 0 :(得分:0)

试试这个

SELECT a.*,s* FROM attendance a LEFT JOIN students s ON a.sid = s.id AND a.bid=s.bid WHERE DATE(a.date) = "2017-02-05"