Код: Выделить всё
$SQL = "SELECT forum_id, sum(forum_total_topics) + sum(forum_total_posts)
FROM exp_forums"
ee()->db->select($SQL);
$query = ee->db->get('exp_forums');
echo $query;
Номер ошибки: 1064
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '' в строке 2
SELECT (SELECT (SELECT SUM(forum_total_topics) + SUM(forum_total_posts) FROM (
Код: Выделить всё
exp_forumsНеряшливое решение
Поэтому я попытался разделить весь запрос, чтобы найти решение.
Наконец-то я получил следующий фрагмент кода, который работает, возвращая несколько массивов и суммируя их, но это выглядит довольно беспорядочно. Как я могу вернуть и суммировать две строки таблицы в одну строку или около того?
Код: Выделить всё
$topics = ee()->db->select_sum('forum_total_topics')->get('exp_forums');
foreach($topics->result_array() as $topicrow) {
$totalTopics = $topicrow['forum_total_topics'];
}
$posts = ee()->db->select_sum('forum_total_posts')->get('exp_forums');
foreach($posts->result_array() as $postrow) {
$totalPosts = $postrow['forum_total_posts'];
}
$total = $totalTopics + $totalPosts;
Проверенные предложения
Я пробовал такие предложения,
Код: Выделить всё
$SQL = "SELECT forum_id, SUM(forum_total_topics + forum_total_posts) AS total
FROM exp_forums
GROUP BY forum_id";
$query = ee()->db->select($SQL);
echo $query;
Обнаружена ошибка PHP
Серьезность: 4096
Сообщение: объект класса CI_DB_mysql_driver не удалось преобразовать в строку
Имя файла: библиотеки/Функции.php(679): код eval()
Номер строки: 98
Подробнее здесь: https://stackoverflow.com/questions/195 ... ecord-with
Мобильная версия