2014-01-14 2 views
0

У меня есть объект $select, который приходит ко мне с набором перечисленных столбцов.Измените один столбец в zend db select

Мне нужен был GROUP BY один из столбцов, но у него есть NULL, которые я не хочу сгруппировать. Так что я смотрю на SQL, как это:

IFNULL(`group`,`id`) as `group` 

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

Я попытался это:

$select->columns('IFNULL(group,id) AS group); 
$select->group('group'); 

Но в результате SQL-прежнему содержит оригинальный group столбец и MySQL является группировкой тем, что, не алиас выражения.

Как заменить этот единственный столбец на мое выражение с псевдонимом?

+0

показать, что $ select-> собрать() возвращают – voodoo417

ответ

-1

Попробуйте этот код

use Zend\Db\Sql\Ddl\Column; 
$table->changeColumn('name', Column\Varchar('new_name', 50)); 

Детализация here

+0

Этот ответ об изменении столбца в определении таблицы. Вопрос заключался в изменении «столбца» в SELECT-части запроса. –

Смежные вопросы