Построитель запросов CodeIgniter отображает недопустимые кавычки в предложении JOIN, содержащем функции SQL в выражении Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Построитель запросов CodeIgniter отображает недопустимые кавычки в предложении JOIN, содержащем функции SQL в выражении

Сообщение Anonymous »

Я пытаюсь объединить две таблицы и получить сумму из каждой таблицы для просмотра диаграммы (total_sell иhours_worked) необходимо сгруппировать по неделям на основе полей даты.
Таблица 1 -> daily_report
  • daily_report_id
  • дата
  • total_sell
Таблица 2 -> emp_payroll_hrs
  • emp_payroll_hrs_id
  • date
  • hours_worked
Моя проблема заключается в том, что CodeIgniter неправильно применяет кавычки идентификатора в выражении ON JOIN. Похоже, он не учитывает вызовы функций MySQL.

Код: Выделить всё

$this->db->select('dr.*,eph.week_start,eph.hours_worked');
$this->db->from('daily_report dr');
$this->db->join('emp_payroll_hrs eph', 'WEEK(dr.date) = WEEK(eph.week_start)', 'left');
$this->db->select('WEEK(dr.date - INTERVAL 1 DAY) as drweek');
$this->db->select('SUM(dr.total_sell) as total_sell', FALSE);
$this->db->select('SUM(eph.hours_worked) AS hours_worked', FALSE);
$result=$this->db->get();
if($result->num_rows()>0)
{
return $result->result_array();
}
else
{
return array();
}
Отрисованное предложение JOIN:

Код: Выделить всё

LEFT JOIN `stoma_emp_payroll_hrs` eph ON `WEEK`(`dr`.`date)` = WEEK(eph.week_start)
-- bad quoting --------------------------^----^
Ошибка:

Номер ошибки: 1064
У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое
соответствует версии вашего сервера MySQL, чтобы узнать правильный синтаксис, который следует использовать
рядом с '' в строке 3
SELECT `dr`.*, `eph`.`week_start`, `eph`.`hours_worked`, WEEK(dr.date
- INTERVAL 1 DAY) как drweek, MONTH(dr.date) как drmonth, YEAR(dr.date) как сухой год, SUM(dr.total_sell) как total_sell FROM (`stoma_daily_report`
dr) LEFT JOIN `stoma_emp_payroll_hrs` eph ON `WEEK`(`dr`.`date)` =
НЕДЕЛЯ(eph.week_start)


Подробнее здесь: https://stackoverflow.com/questions/551 ... aining-sql
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»