MySQL суммы без использования с накоплением

Я использую phpgrid для отображения данных запроса, затем фильтрую через форму выбора на странице. Это работает нормально, пока я не добавлю в запросе сведение к столбцам суммы, и мне стало интересно, есть ли другой способ суммирования этих столбцов (12 из них)?

Это не работает, сообщая мне, что не могу выполнить запрос. Неизвестный столбец ‘i.signedupdate’ в ‘предложении where

SELECT * FROM
(SELECT IFNULL(c.Adviser, 'GRAND TOTAL') AS Adviser,
Sum(Month(i.SignedUpDate) = 1) As Jan,
Sum(Month(i.SignedUpDate) = 2) As Feb,
Sum(Month(i.SignedUpDate) = 3) As Mar,
Sum(Month(i.SignedUpDate) = 4) As Apr,
Sum(Month(i.SignedUpDate) = 5) As May,
Sum(Month(i.SignedUpDate) = 6) As Jun,
Sum(Month(i.SignedUpDate) = 7) As Jul,
Sum(Month(i.SignedUpDate) = 8) As Aug,
Sum(Month(i.SignedUpDate) = 9) As Sept,
Sum(Month(i.SignedUpDate) = 10) As Oct,
Sum(Month(i.SignedUpDate) = 11) As Nov,
Sum(Month(i.SignedUpDate) = 12) As Dece,
i.id,
Count(i.id) As Total
From
tbl_lead i Inner Join
tbl_clients c On i.client_id = c.client_id
Group By
c.Adviser with rollup) As t

Это работает, я могу выбрать годы в порядке, но нет колонки резюме

SELECT * FROM
c.Adviser AS Adviser,
Sum(Month(i.SignedUpDate) = 1) As Jan,
Sum(Month(i.SignedUpDate) = 2) As Feb,
Sum(Month(i.SignedUpDate) = 3) As Mar,
Sum(Month(i.SignedUpDate) = 4) As Apr,
Sum(Month(i.SignedUpDate) = 5) As May,
Sum(Month(i.SignedUpDate) = 6) As Jun,
Sum(Month(i.SignedUpDate) = 7) As Jul,
Sum(Month(i.SignedUpDate) = 8) As Aug,
Sum(Month(i.SignedUpDate) = 9) As Sept,
Sum(Month(i.SignedUpDate) = 10) As Oct,
Sum(Month(i.SignedUpDate) = 11) As Nov,
Sum(Month(i.SignedUpDate) = 12) As Dece,
i.id,
Count(i.id) As Total
From
tbl_lead i Inner Join
tbl_clients c On i.client_id = c.client_id
Group By
c.Adviser

Если я просто удаляю подзапрос и оставляю «с накоплением», он предупреждает меня о неправильном использовании заказа & с накопительным?

Любые идеи высоко ценятся, просто нужно суммировать все эти столбцы

0

Решение

Вы должны использовать представление SQL в соответствии с рекомендациями Вот.

Рекомендуется использовать Sql view
когда Sql сложен. Это по сути виртуальная таблица, из которой
это определяется как запрос SQL SELECT с объединениями. Потому что база данных
представление аналогично таблице базы данных, которая состоит из строк и
столбцы, так что вы можете запрашивать данные, как в реальной таблице базы данных.

Еще одним преимуществом является то, что вы можете использовать это представление повторно. Кроме того, если
Вы используете представление вместо соединенных таблиц, в будущем, если вам нужно
чтобы изменить столбец, вы можете легко сделать это и требовать только изменения
вид Sql.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]