Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-11-2007 12:20:27

Rayflex21
Nouveau membre
Date d'inscription: 14-11-2007
Messages: 2

[Zend_Db][RC 1.0.2] select() -> group() : with rollup

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

 

#2 14-11-2007 14:06:15

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Zend_Db][RC 1.0.2] select() -> group() : with rollup

Regarde du coté de Zend_Db_Expr, couplé à Zend_Db_Select

Hors ligne

 

#3 14-11-2007 16:37:24

Geoffrey
Membre
Lieu: 63
Date d'inscription: 12-04-2007
Messages: 140
Site web

Re: [Zend_Db][RC 1.0.2] select() -> group() : with rollup

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

 

#4 16-11-2007 10:44:04

Rayflex21
Nouveau membre
Date d'inscription: 14-11-2007
Messages: 2

Re: [Zend_Db][RC 1.0.2] select() -> group() : with rollup

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages