Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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