IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Db PHP Discussion :

Jointure externe contenant une jointure interne... [ZF 1.5]


Sujet :

Zend_Db PHP

  1. #1
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut Jointure externe contenant une jointure interne...
    Bonjour,

    J'aimerais générer avec ZF une requête sous la forme (en simplifiant) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT t1.col1, t3.col3
    FROM table1 t1
        LEFT OUTER JOIN (table2 t2 INNER JOIN table3 t3 ON t3.id3 = t2.id3) ON t2.id1 = t1.id1
    Mon problème, ce sont les parenthèses après la jointure externe que je n'arrive pas à générer...

    Est-ce que vous savez si c'est possible avec les fonctions de ZF ou si je dois écrire la requête à la main ?

    Merci d'avance !

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    J'ai trouvé une solution qui résout mon problème d'une certaine façon : c'est de passer par un sous-select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            $subselect = $this->dbAdapter->select()
                    ->from(array('t2' => 'table2'),
                           array('id1'))
                    ->join(array('t3' => 'table3'),
                           't3.id3 = t2.id3',
                           array('col3');
     
            $select = $this->dbAdapter->select()
                    ->from(array('t1' => 'table1'),
                           array('col1'))
                    ->joinLeft(array('s2' => $subselect),
                            's2.id1 = t1.id1',
                            array('col3'))
    Est-ce que vous connaissez une autre façon de s'en sortir ?
    Je passerai en résolu dans quelques jours si je n'ai pas de réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL Server] Filtré sur une table avant une jointure externe
    Par TangoZoulou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/11/2006, 15h52
  2. Jointures externes sur une table de jointure
    Par mart1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/10/2006, 01h33
  3. [DB2] Problèmes avec une Jointure externe sur des vues
    Par treivse dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/07/2006, 11h42
  4. Ordre d'exécution dans une jointure externe
    Par Pero dans le forum Langage SQL
    Réponses: 17
    Dernier message: 20/09/2005, 12h22
  5. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo