Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Mon problème est assez simple. J'essaie d'effectuer une requête en MySql en précisant le 'with rollup' sur le 'group by'.
En sql, cela donne
select
label,
name,
program_name,
date_format(min(date_data),'%e/%m/%Y') as 'date debut',
...
sum(business_figure) as 'business_figure',
sum(commission) as 'commission'
from aff_statistics as s
inner join aff_platform_data as p on s.platform_id = p.id
inner join adm_params as m on p.countryId = m.id
group by label, name, program_name with rollup
En utilisant Zend_Db, je ne parviens à inclure le 'with rollup'.
$select = $db -> select()
-> from(
array("s" => "aff_statistics"),
array(
"label" => "m.label",
"name" => "p.name",
"program_name",
"date debut" => "date_format(min(date_data),'%e/%m/%Y')",
...
"business_figure" => "sum(business_figure)",
"commission" => "sum(commission)"
)
)
-> join(
array("p" => "aff_platform_data"),
"s.platform_id = p.id",
array()
)
-> join(
array("m" => "adm_params"),
"p.countryId = m.id",
array()
)
-> group(array("label", "name", "program_name"));
Ma question est donc : comment inclure le modifier 'with rollup' dans ma requête Zend?
En espérant avoir été assez clair.
Merci d'avance pour toute idée.
Hors ligne
Regarde du coté de Zend_Db_Expr, couplé à Zend_Db_Select
Hors ligne
Bonjour,
Je tenterai quelque chose comme celà (je n'ai pas testé) :
-> group(new Zend_Db_Expr('label, name, program_name with rollup'));
Geoffrey
Dernière modification par Geoffrey (14-11-2007 16:43:06)
Hors ligne
Merci beaucoup pour vos réponses. La dernière solution proposée fonctionne parfaitement.
J'avais essayé ceci mais sans succès :
-> group(array('label, name, program_name, new Zend_Db_Expr('with rollup')));
et effectivement, ceci fonctionne beaucoup mieux:
-> group(new Zend_Db_Expr('label, name, program_name with rollup'));
Un tout grand merci pour votre aide.
Hors ligne
Pages: 1