Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Общие итоги в SQL FireBird

www www Искусственный Интеллект (123049), закрыт 1 год назад
БД FireBird

Имеется что то вроде такого:

select p1,p2, sum(p3)
from
(
select ***
union all
select ***
union all
овердохрена
....
)
group by p1, p2

суммируется по группам все качественно, остался пустяк, приюнионить сюда строку с общей суммой и количеством. Как это сделать не повторяя мегазапросище в скобках?
(если сделать скобкам as tempname то к tempname обратиться не дает, что логично)))))
Переменные и временные таблицы через PDO драйвер не пролазят, так что решение нужно искать в классике SQL
Лучший ответ
Андрей Высший разум (425151) 1 год назад
Ты же получил через PDO массив. Что мешает подсчитать кол-во и сумму PHP-кодом?
Используя array_column и array_sum ты уложишься в пару строк PHP-кода.

PDO прекрасно умеет работать и с временными таблицами, и с аргументами хранимых подпрограмм.
www wwwИскусственный Интеллект (123049) 1 год назад
Увы, на той стороне универсальный обработчик, который просто забирает запрос с базы, выполняет и отображает результаты.
Андрей Высший разум (425151) А если сделать хранимую процедуру, которая создаст временную таблицу, сформирует в ней данные и выполнит SELECT к этой временной таблице? А запрос будет состоять из вызова этой процедуры.
www wwwИскусственный Интеллект (123049) 1 год назад
Кстати, при попытке пропихнуть через PDO временную базу или переменные ошибок не возникает, запрос тупо не выполняется, возвращается пустой набор.
Возможно у меня кривой PDO однако судя по оф. сайту он последний из существующих...
Как вариант старый FireBird, но тут пока ничего сделать нельзя...
Остальные ответы
TalerOne47 Ученик (167) 1 год назад
Спасибо за помощь!
Ваша жалоба будет рассмотрена в ближайшее время.
Похожие вопросы