Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-06-2014 09:24:05

foxbille
Nouveau membre
Date d'inscription: 27-01-2008
Messages: 9

select join pour paginator

Bonjour,
Je sèche lamentablement sur la requete suivante :

Requette d'origine (fonctionne très bien)
SELECT ciczto.CODDI, ciczba.CMINI, ciczba.NUMSS, ciczba.KINSE, ciczba.NUDOS, ciczto.CPREI, ciczto.CANO, ciczto.ANNEE, ciczto.MOIS, ciczto.JOUR, ciczto.ANNEEX, ciczto.MOALP, ciczto.JOALP, ciczto.CAPUR, ciczba.NUSUE, ciczba.PRENO, ciczba.CPRES, ciczba.ANMAJ, ciczba.MOMAJ;
FROM ciczto
LEFT JOIN ciczba ON ciczto.CMINI=ciczba.CMINI AND ciczto.NUMSS=ciczba.NUMSS AND ciczto.KINSE=ciczba.KINSE AND ciczto.NUDOS=ciczba.NUDOS
WHERE ciczto.CANO = '0811' AND ciczto.CODDI = '10';

Requette réécrite (assez difficilement je dois dire )
$select = $db->select()
             ->from(array('t' => 'CICZTO'),
                    array('CODDI', 'CPREI', 'CANO', 'ANNEE', 'MOIS', 'JOUR', 'ANNEEX', 'MOALP', 'JOALP', 'CAPUR'))
            ->joinleft(array('b' => 'CICZBA'),
                   'b.NUMSS = t.NUMSS and b.CMINI=t.CMINI AND b.NUDOS=t.NUDOS', array('CMINI', 'NUMSS', 'KINSE', 'NUDOS', 'NUSUE', 'PRENO', 'CPRES', 'ANMAJ', 'MOMAJ'))
            ->where( t.CANO = '0811' AND t.CODDI = '10' )
            ->order( array('b.NUMSS','b.NUSUE', 'b.PRENO'));

// requete générée => erreur
SELECT COUNT(1) AS "zend_paginator_row_count" FROM "CICZTO" "t" LEFT JOIN "CICZBA" "b" ON b.NUMSS = t.NUMSS and b.CMINI=t.CMINI AND b.NUDOS=*t.NUDOS WHERE (t.CANO = '0811' AND t.CODDI = '10')

avec un message '904 ORA-00904: "T"."NUDOS" : identificateur non valide       

Merci de m'avoir lu jusqu'ici.
Si quelqu'un a une piste, une idée, ou relève une erreur dans ce qui précède...
@+
Eric

Dernière modification par foxbille (18-06-2014 09:25:22)

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