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

Bases de données Delphi Discussion :

problème avec les requêtes imbriquées


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut problème avec les requêtes imbriquées
    Bonjour tout le monde ,

    je rencontre un problème dans la syntaxe d'une requête ADO imbriquée et je sais pas ou se trouve le problème voici ma requête
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT  *  FROM article_sous_chapitre WHERE code_s_chapitre IN (SELECT code_s_chapitre FROM sous_chapitre WHERE 
    code_chapi IN (SELECT code_chapitre FROM chapitre WHERE code_grpe IN (select_code_groupe FROM groupe WHERE code_sec = :L )))

    merci d'avance
    cordialement

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 92
    Points : 159
    Points
    159
    Par défaut
    dans le dernier in, tu es marqué
    au lieu de
    je pense que d'autres personnes te conseilleront d'utiliser des jointures plutôt que des select imbriqué


    exemple sous oracle :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT  
    	*  
    FROM 
    	article_sous_chapitre,
    	sous_chapitre, 
    	chapitre, 
    	groupe
    where 
    	article_sous_chapitre.code_s_chapitre = sous_chapitre.code_s_chapitre
    and sous_chapitre.code_chapi = chapitre.code_chapitre
    and chapitre.code_grpe = groupe.code_groupe
    and groupe.code_sec = :L

  3. #3
    Membre régulier Avatar de menoulette
    Inscrit en
    Août 2009
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 320
    Points : 111
    Points
    111
    Par défaut
    Merci pour votre conseil , j'ai pas remarqué l'erreur qu j'ai commit je crois que les jointures sont mieux vous avez totalement raison merci


    reste à essayer

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    je pense que d'autres personnes te conseilleront d'utiliser des jointures plutôt que des select imbriqué
    absolument , mais il serait bon d'utiliser une SQL normalisée , tant qu'a faire
    ainsi que de ne remonter que les infos nécessaires (à la place du * mettre les noms de colonnes)

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT  
    	*  
    FROM Article_sous_chapitre,
    	JOIN sous_chapitre ON  article_sous_chapitre.code_s_chapitre = sous_chapitre.code_s_chapitre
    	JOIN chapitre ON sous_chapitre.code_chapi = chapitre.code_chapitre, 
    	JOIN  groupe ON chapitre.code_grpe = groupe.code_groupe
    where 
     groupe.code_sec = :L

    et enfin vérifier le type de Jointure (ici LEFT JOIN par défaut avec Firebird)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. Problème avec des requète imbriquée dans le from
    Par Stouille33 dans le forum Développement
    Réponses: 5
    Dernier message: 23/10/2008, 19h17
  2. Réponses: 1
    Dernier message: 28/06/2006, 13h31
  3. Problème avec les requêtes hibernate
    Par joseph_p dans le forum Hibernate
    Réponses: 5
    Dernier message: 04/04/2006, 22h54
  4. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29

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