Похоже, вы не хотите явно перечислять columnn и хотите, чтобы вы суммировали все столбцы (возможно, исключая столбец year
) по всем строкам с группировкой по годам.
Обратите внимание, что метод Zend_Db_Table::info(Zend_Db_Table_Abstract::COLS)
вернет массив, содержащий имена столбцов для базовой таблицы. Вы можете построить свой запрос, используя этот массив, например:
Zend_Db_Table::setDefaultAdapter($db);
$table = new Zend_Db_Table('mytable');
$fields = $table->info(Zend_Db_Table_Abstract::COLS);
unset($fields['year']);
$select = $table->select();
$cols = array();
foreach ($fields as $field){
$cols[] = sprintf('SUM(%s)', $field);
}
$select->cols(implode(' + ', $cols));
$select->group('year');
Я не тестировал конкретный синтаксис, но суть идеи заключается в вызове info()
для динамического получения полей.