Похоже, вы не хотите явно перечислять столбец n и что вы хотите суммировать все столбцы (возможно, исключая столбец 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()
, чтобы получить поля динамически.