Как вычислить сумму данных в формате JSON, используя mysql substring_index в codeigniter - PullRequest
0 голосов
/ 31 августа 2018

У меня есть 3 строки каждого сотрудника с месячной зарплатой за апрель, май, июнь. В столбце Payslip_earnings сохранены данные в формате JSON, например

{"basicpay":40000,"hra":16000,..etc }

Я могу получить сумму переменных данных json при отдельном выполнении запроса в phpmyadmin с помощью

sum(substring_index ( substring_index (payslip_earnings,'{"basicpay":',-1),'," ',1) ) as basic.

Выход на пустую страницу Ошибка / синтаксическая ошибка при выборе базового внутри на странице модели codeiginter

$query = $this->db->query("SELECT payslip.payslip_empcode, 
         sum(substring_index ( substring_index (payslip_earnings,'{"basicpay":',-1),'," ',1) ) as basic
         FROM payslip LEFT OUTER JOIN employee_official_master ON
         payslip.payslip_empcode=employee_official_master.employee_code 
         WHERE payslip.payslip_fyear = '2018' and  
         payslip.payslip_empcode IN ('MAR015','MAR010') AND 
         ( payslip_month = 'April' OR payslip_month = 'May' OR payslip_month = 'June') 
GROUP BY payslip.payslip_empcode "
           );

Как добиться того же на странице модели codeigniter?

1 Ответ

0 голосов
/ 31 августа 2018
Try this One..
$colname  = '{"basicpay":' ;            
         $seperator = ',';  
         $query = $this->db->query("SELECT payslip.payslip_empcode, 
         sum(substring_index (substring_index (payslip.payslip_earnings,'".$colname."',-1),'".$seperator."',1) ) as basicpay
         FROM payslip LEFT OUTER JOIN employee_official_master ON
         payslip.payslip_empcode=employee_official_master.employee_code 
         WHERE payslip.payslip_fyear = '2018' and  
         payslip.payslip_empcode IN ('MAR015','MAR010') AND 
         ( payslip_month = 'April' OR payslip_month = 'May' OR payslip_month = 'June') 
GROUP BY payslip.payslip_empcode "
           );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...