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

Requêtes MySQL Discussion :

SELECT avec deux noms issus d'un même JOIN [MySQL-5.5]


Sujet :

Requêtes MySQL

  1. #1
    shewy80
    Invité(e)
    Par défaut SELECT avec deux noms issus d'un même JOIN
    Bonjour à tous.

    Je suis embêté dans la réalisation de ma requête, au point que je me demande si ce que je cherche existe ...

    J'ai deux tables (Prestashop) ... je vais simplifier

    La première table me liste juste des ID (ps_category) sous cette forme

    id_category id_parent
    66 0
    1 66
    37 1


    La seconde me donne les libellés (ps_category_lang)

    id_category name
    0 root
    1 Informatique
    37 Matériels (sous cat de Info)
    66 Accueil

    Je cherche à me faire une requête me permettant d'extraire mes id père et fils, ainsi que les libelles en une seule fois.
    Avoir donc ce résultat :

    c.id_category cl.name c.id_parent name2 ,c.level_depth, c.nleft, c.nright, c.active
    66 Accueil 0 root ..,..,..,..
    1 Informatique 66 Accueil ..,..,..,..
    37 Matériels 1 Informatique ..,..,..,..


    Ce qui ne fonctionne pas (car je ne sais pas finir ma requête)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT c.id_category, cl.name, c.id_parent, name2, c.level_depth, c.nleft, c.nright, c.active  
    FROM ps_category c, ps_category_lang cl 
    where c.id_category= cl.id_category 
    and c.id_shop_default = 1  
    AND cl.id_lang = 2 
    AND cl.id_shop = 1
    AND name2 ... ???
    ORDER BY c.nleft ASC
    Je remercie par avance toutes les âmes généreuses qui me permettraient d'avancer

    Guillaume.
    Dernière modification par Bisûnûrs ; 15/09/2014 à 15h46. Motif: Merci d'utiliser la balise [code]

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    une solution est de joindre deux fois la table des catégories :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT c.id_category, cl.name, c.id_parent, parent.name, c.level_depth, c.nleft, c.nright, c.active  
    FROM ps_category c
    inner join  ps_category_lang cl 
    	on c.id_category= cl.id_category 
    inner join  ps_category_lang parent 
    	on c.id_parent= parent.id_category 
    WHERE c.id_shop_default = 1  
    AND cl.id_lang = 2 
    AND cl.id_shop = 1
    AND parent.name ... ???
    ORDER BY c.nleft ASC

  3. #3
    shewy80
    Invité(e)
    Par défaut
    Merci !

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

Discussions similaires

  1. résultat de requête avec deux champs issus du même champ initial
    Par Macrounet dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/08/2010, 17h38
  2. Réponses: 2
    Dernier message: 04/03/2010, 18h07
  3. [MySQL] Select avec deux champs identiques
    Par avigeilpro dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/11/2009, 04h20
  4. [BO 5.1.6] [BO6.5.1] Travailler avec deux versions BO sur le même poste
    Par l_ourse dans le forum Administration-Migration
    Réponses: 7
    Dernier message: 05/03/2008, 10h35
  5. Requête SELECT avec deux champs dans une colonne ??
    Par fredhali2000 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 08/06/2006, 10h41

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