Создайте динамический запрос овощений с парами операторов условного sum () с codeigniterPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Создайте динамический запрос овощений с парами операторов условного sum () с codeigniter

Сообщение Anonymous »

Я использую Codeigniter, и мне нужно использовать агрегатные функции в моем запросе. У меня есть этот запрос. < /P>

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

"SELECT Dated,
CASE WHEN `Account_ID` = 2 then SUM(Total_Bricks) ELSE 0 end as 'Nadeem',
CASE WHEN Account_ID = 2 then SUM(Kaat_Bricks) ELSE 0 end as 'NadeemKaat',
CASE WHEN `Account_ID` = 7 then SUM(Total_Bricks) ELSE 0 end as 'Abid',
CASE WHEN Account_ID = 7 then SUM(Kaat_Bricks) ELSE 0 end as 'AbidKaat',
CASE WHEN `Account_ID` = 8 then SUM(Total_Bricks) ELSE 0 end as 'Sajid',
CASE WHEN Account_ID = 8 then SUM(Kaat_Bricks) ELSE 0 end as 'SajidKaat'
FROM `tblstockdetail` GROUP BY `Dated`"
< /code>
Я сгенерировал этот запрос через простую петлю foreach < /p>
$stock = $this->Kharkaar_Model->get_stockdetail();

$sql = '"SELECT Dated, ';

$numItems = count($stock);
$i = 0;
foreach ($stock as $key => $value) {
if (++$i === $numItems) {
$sql.= "CASE WHEN `Account_ID` = ".$value['Account_ID']." then SUM(Total_Bricks) ELSE 0 end as '".$value['AccountName']."',

CASE WHEN Account_ID = ".$value['Account_ID']." then SUM(Kaat_Bricks) ELSE 0 end as '".$value['AccountName']."Kaat'
FROM `tblstockdetail` GROUP BY `Dated`";
} else {
$sql.= "CASE WHEN `Account_ID` = ".$value['Account_ID']." then SUM(Total_Bricks) ELSE 0 end as '".$value['AccountName']."',

CASE WHEN Account_ID = ".$value['Account_ID']." then SUM(Kaat_Bricks) ELSE 0 end as '".$value['AccountName']."Kaat',
";
}
}
$sql.= '"';
< /code>
Теперь, когда я пытаюсь получить результат этого запроса с помощью: < /p>
$result = $this->db->query($sql);
< /code>
Это дает мне синтаксисную ошибку, в противном случае, когда я помещаю этот запрос прямо в: < /p>
$result = $this->db->query(// string query here );
... Это работает нормально.

Подробнее здесь: https://stackoverflow.com/questions/431 ... -with-code
Ответить

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

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

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

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

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