Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-03-2009 12:23:40

neeux
Membre
Date d'inscription: 03-07-2008
Messages: 29

[Résolu][Zend_db][1.7]Comment écrire cette requete?

Bonjour,

J'ai un problème en voulant écrire un requete avec $this->select()..

Voici la requete:

Code:

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....

Code:

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

 

#2 15-03-2009 12:28:47

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [Résolu][Zend_db][1.7]Comment écrire cette requete?

Hello,

Il doit juste te manquer :

Code:

->from(array("T1" => "friends"), new Zend_Db_Expr("DISTINCT(T2.uid2) AS uid"))

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 15-03-2009 15:56:04

neeux
Membre
Date d'inscription: 03-07-2008
Messages: 29

Re: [Résolu][Zend_db][1.7]Comment écrire cette requete?

Merci de ta réponse.
Mais le problème est toujours là. En fait voilà la requete que ca me génère:

Code:

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

 

#4 15-03-2009 18:00:19

baboune
Membre
Date d'inscription: 29-11-2008
Messages: 103

Re: [Résolu][Zend_db][1.7]Comment écrire cette requete?

Comment éviter ce "T2.*" ?

Code:

->joinInner(array("T2" => "friends"), "T1.uid2 = T2.uid1", array())

Dernière modification par baboune (15-03-2009 18:00:52)

Hors ligne

 

#5 15-03-2009 19:43:02

neeux
Membre
Date d'inscription: 03-07-2008
Messages: 29

Re: [Résolu][Zend_db][1.7]Comment écrire cette requete?

Merci ça marche..

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