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 :

Comment répéter une jointure n fois ?


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 62
    Points
    62
    Par défaut Comment répéter une jointure n fois ?
    Bonsoir,
    J'ai une table contient des articles classés par catégories, avec les champs " id", "id_pere"
    Je veux afficher les articles avec leurs parents dans une seule ligne avec les jointure.
    Exemple :
    Code mysql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select p.designation,p2.designation
    From produit p
    Boucle
    Left join produit p2 on p.id=p2.id_pere
    Fin boucle

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Il faut faire une requête récursive, si tant est que MySQmerde sache les faire....

    À lire : https://sqlpro.developpez.com/cours/...te-recursives/

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    246
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 246
    Points : 62
    Points
    62
    Par défaut
    Voici ce que je cherche :
    Table produit :

    Id Id_pere designation
    1 Null Informatique
    2 Null Alimentation
    3 1 PC
    4 2 Pomme
    5 3 HP i5
    6 3 DELL i3


    Résultat :

    Designation Designation Designation
    Informatique PC HP i5
    Informatique PC DELL i3
    Alimentation Pomme

  4. #4
    Membre confirmé Avatar de isabelle.letrong
    Femme Profil pro
    Conseil - Consultante en systèmes d'information
    Inscrit en
    Juillet 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Conseil - Consultante en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2010
    Messages : 109
    Points : 487
    Points
    487
    Par défaut Représentation intervallaire...
    Pour faire suite à SQLpro MySQL ne gère pas le récursif par défaut...ce qui est un peu suspect quant à l'optionnel.

    Pour ma part, pour gérer une nomenclature j'utilise une représentation intervallaire.
    C'est ultra efficace avec du SQL non récursif. Mais attention, si on ne veut pas casser l'arbre avec des insertions non maitrisées il vaut mieux confier la gestion de l'arbre (insert, delete) à des personnes qui maitrisent.

    Je ne saurais trop conseiller d'utiliser pour cela des procédures stockées écrites une fois pour toute par des 'sachants' de la représentation intervallaire.

    SQLpro présente d'ailleurs ici : https://sqlpro.developpez.com/cours/arborescence/ une excellente présentation du concept....

Discussions similaires

  1. Comment répéter une fonction un nombre de fois à la vitesse voulue ?
    Par progdebutant dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/02/2016, 10h50
  2. [ADO.Net] Comment réaliser une jointure bindée ?
    Par prophetky dans le forum Accès aux données
    Réponses: 4
    Dernier message: 18/02/2006, 16h17
  3. Comment faire une jointure ?
    Par Terminator dans le forum Langage SQL
    Réponses: 12
    Dernier message: 16/10/2005, 13h26
  4. Comment optimiser une jointure ?
    Par seb_asm dans le forum Administration
    Réponses: 21
    Dernier message: 25/06/2004, 16h42
  5. [Servlet] Comment utilisé une servlet plusieurs fois ?
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 03/06/2004, 14h49

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