Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai un problème en voulant écrire un requete avec $this->select()..
Voici la requete:
SELECT DISTINCT(T2.uid2) AS uid FROM friends AS T1 INNER JOIN friends AS T2 ON T1.uid2 = T2.uid1 WHERE T1.uid1 = 1 AND T2.uid2<>1 ORDER BY uid DESC
J'ai essayer ceci mais c'est pas du tout ca....
soit $uid = 1 dans cet expemple $select = $this->select()->setIntegrityCheck(false) ->from(array("T1" => "friends"), "DISTINCT(T2.uid2) AS uid") ->joinInner(array("T2" => "friends"), "T1.uid2 = T2.uid1") ->where("T1.uid1 = ?", $uid) ->where("T2.uid2 <> ?", $uid) ->order("uid DESC");
Merci de votre aide..
Dernière modification par neeux (15-03-2009 19:43:30)
Hors ligne
Hello,
Il doit juste te manquer :
->from(array("T1" => "friends"), new Zend_Db_Expr("DISTINCT(T2.uid2) AS uid"))
A+
Hors ligne
Merci de ta réponse.
Mais le problème est toujours là. En fait voilà la requete que ca me génère:
SELECT DISTINCT(T2.uid2) AS uid, T2.* FROM friends AS T1 INNER JOIN friends AS T2 ON T1.uid2 = T2.uid1 WHERE (T1.uid1 = 1) AND (T2.uid2 <> 1) ORDER BY uid DESC
La requête est donc bonne sauf que le "T2.*" fait comme si il annulait le DISTINCT... Et du coup j'ai énormément d'enregistrement en double...
Comment éviter ce "T2.*" ?
Dernière modification par neeux (15-03-2009 15:56:45)
Hors ligne
Comment éviter ce "T2.*" ?
->joinInner(array("T2" => "friends"), "T1.uid2 = T2.uid1", array())
Dernière modification par baboune (15-03-2009 18:00:52)
Hors ligne
Merci ça marche..
Merci pour votre aide.
Hors ligne
Pages: 1