在codeigniter活动记录中实现SQL

时间:2013-05-16 11:44:14

标签: codeigniter codeigniter-2

如何将此sql转换为codeigniter活动记录格式

SELECT COUNT(*)
FROM(
SELECT DISTINCT component
FROM `multiple_sample_assay_abc`
WHERE labref = 'NDQA201303001'
)x

我试过这个函数,但它有sql错误

 function getAssayMultipleCount($labref){
        $this->db->count_all('*');
        $this->db->from();
        $this->db->distinct('component');
        $this->db->from('multiple_sample_assay_abc');
        $this->db->where('labref',$labref);
        $query=  $this->db->get();
        return $result=$query->result();
        //print_r($result);
    }

2 个答案:

答案 0 :(得分:0)

您正在使用2 $ this-> db-> from()语句。

答案 1 :(得分:0)

试试这个

function getAssayMultipleCount($labref){
    $this->db->distinct('component');
    $this->db->from('multiple_sample_assay_abc');
    $this->db->where('labref',$labref);
    $query=  $this->db->get();
    $result=$query->result();
    return count($result);
    //print_r($result);
}

执行查询后,您只需计算元素的数量即可。您不必为此

使用子查询