Php 使用codeigniter从两个表中获取记录,其中所有匹配的记录都来自第一个表

Php 使用codeigniter从两个表中获取记录,其中所有匹配的记录都来自第一个表,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有两张桌子: 学生[身份证,学生姓名,学校,投标,…] 出席人数[id、sid、投标、出席日期,…] sid:学生id 投标:批次id 我正试图从同一批学生的表和同一特定日期的考勤中获取记录 但是我得到了学生的记录/名单,他们的id在出勤中可用 学生表: 出席人数表: 在这两种情况下,我只得到两张记录。我期待3个学生名单 SELECT * FROM students s LEFT OUTER JOIN attendance a ON s.id = a.sid WHERE s.bid=1 A

我有两张桌子:

  • 学生[身份证,学生姓名,学校,投标,…]
  • 出席人数[id、sid、投标、出席日期,…]
  • sid:学生id
    投标:批次id

    我正试图从同一批学生的
    表和同一特定日期的
    考勤
    中获取记录

    但是我得到了
    学生的记录/名单,他们的
    id
    出勤中可用

    学生表:

    出席人数表:

    在这两种情况下,我只得到两张记录。我期待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();
    
    试试这个

    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"
    

    在中添加表结构和数据question@Rafiq我添加了有问题的表图像和数据,但从图像中获取表和数据需要时间。所以,若您添加有问题的表结构和数据,或者在中添加数据,以便尽早解决问题,那个就更好了。谢谢Attentidate列的数据类型是什么?没有。它不工作,它给出了所有日期的所有记录。实际上这里的问题是那个日期。这是我无法解决的。我无法合并当前的数据。“其中s.bid=1,a.Attentidate='2017-03-18'”这一条