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 :

requetes imbriquées left join


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut requetes imbriquées left join
    Bonjour ; [D7+ access] j'ai deux tables
    T: categ ( idcateg,categ...)
    T2: mouvements(idmouv,datemouv,categ.....)
    je veux affiché tous les enregistrements de la table categ (T) et leurs correspondances dans la table mouvements .
    ma solution :
    utilisé un left join entre les deux tables
    1) solution 1 :
    j'ai fait une première requête pour extraire les données de la tables mouvements selon paramètre année :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT MOUVEMENTS.CATEG, Count(MOUVEMENTS.CATEG) AS CompteDeCATEG
    FROM MOUVEMENTS
    WHERE (((Year([datemouv]))=[:an]))
    GROUP BY MOUVEMENTS.CATEG;
    ensuite j'ai fait la le left join entre table categ et le résultat de la requéte :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CATEG.CATEG, categan.CompteDeCATEG AS nbcateg
    FROM CATEG LEFT JOIN categan ON CATEG.CATEG = categan.CATEG;

    jusqu'à la c'est bon ; ce que je veux c'est de mettre les deux requêtes ensemble dans le même composant tadoquery ( requêtes imbriquées).
    j'ai essayé plusieurs tuto mais j'ai pas ou parvenir.....

    Nb/ je teste mes requêtes sur access pour gagner du temps ensuite je les recopies dans tadoquery avec quelques modification


  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 129
    Par défaut
    C'est ton GROUP BY, cela limite forcément la quantité de données retourné !

    Je ne connais pas assez ACCESS sur ses capacités avec les tables temporaires, mais en fait tu peux surtout écrire une seule requête !
    Cela fonctione en SQL Server, Oracle et MySQL d'avoir un Sous-Select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT CATEG.CATEG, 
        (
        SELECT Count(MOUVEMENTS.CATEG) 
        FROM MOUVEMENTS
        WHERE (((Year([datemouv]))=[:an]))
        AND MOUVEMENTS.CATEG = CATEG.CATEG 
        ) AS CompteDeCATEG
    FROM CATEG
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    pour quelqu'un qui ne connait pas assez [access]
    merci shail c'est réussi au premier coup

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

Discussions similaires

  1. Requete avec Left Join sous MySQL 4 et 5
    Par gpers dans le forum Requêtes
    Réponses: 3
    Dernier message: 11/05/2009, 19h04
  2. Requete imbriquée ou join sur table de jointure
    Par elfenlieder dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/11/2007, 12h22
  3. Réponses: 3
    Dernier message: 06/06/2007, 19h45
  4. [Access] Requête avec LEFT JOIN et 3 tables
    Par estelledany dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/06/2006, 14h27
  5. requete avec left join et group by
    Par slc dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/09/2004, 19h03

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