如何在codeigniter查询命令中计算表的字段中的特定值

时间:2016-02-29 08:20:00

标签: php mysql codeigniter-3

我正在尝试做一个报告,为此我需要取得并计算每个员工的子女数量,如果已婚。我尝试了一种方法,但在查询中添加asterik行时只获得一个员工信息,否则它作为初学者获取所有员工的信息我不知道为什么。关系来自一个数组。我在这里使用表格和我的代码来理解!让我提醒你,我想要孩子的总数,这意味着儿子和女儿不仅仅是儿子或女儿的总数。

这是关系数组;

        $config['relation'] = array(                    
                '1' => 'father',
                '2' => 'mother',
                '3' => 'brother',
                '4' => 'sister',
                '5' => 'husband',
                '6' => 'wife',
                '7' => 'son',
                '8' => 'daughter',
                '9' => 'uncle',
                '10' => 'unty',
                '11' => 'cousin',
                '13' => 'grand father',
                '14' => 'grand mother', 

                );  

这是要获取的数据库表

 EMP_FAMILY_ID  EMP_ID  NAME    NAME_BENGALI    RELATION BIRTH_DATE     AGE OCCPATION   CONTACT_NO          
    1           1       fghn    vbn             7        2000-09-02     15      4       23546585        
    2           1       dgh     dfgh            7        2003-10-02     12      4       453273      
    3           1       fghjm   fgn             8        1970-01-01     14      4       4520752         
    4           1       fgbbn   bmnbnm          8        1970-01-01     14      4       4532        
    5           2       bfhb    fghfg           5        1970-01-01     20      8       634565
    6           3       bfhb    fghfg           6        1970-01-01     20      9       634565




     $query = $this->db->select('

                                emp.EMPLOYEE_NAME_BENGALI,
                                emp.EMPLOYEE_FATHER_BENGALI,
                                emp.EMPLOYEE_MOTHER_BENGALI,
                                emp.BIRTH_DATE,
                                emp.EMP_BLOOD_GROUP,
                                emp.MARITAL_STATUS,
                                emp.EMP_JOB_NATURE,
                                emp.QUOTA_ID,
                                **sum(case when emf.RELATION="7" || emf.RELATION="8" then 1 else 0 end) as son,**
                                ')

                                ->from('hrm_ls_employee as emp')
                                ->join('hrm_ls_emp_family as emf','emp.EMP_ID = emf.EMP_ID','left')

                                ->where('emp.IS_DELETED',0) 
                                ->order_by('emp.EMP_ID')
                                ->get();




           $emp_details_report = $query->result();

0 个答案:

没有答案