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 :

Requete SQL sur le resultat d'un autre Requete SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 106
    Points : 66
    Points
    66
    Par défaut Requete SQL sur le resultat d'un autre Requete SQL
    Salut,

    Comment est ce que je peux garder le resultat de ma requete pour en faire une deuxiemme par dessus?

    Je n'ai besoin que du resultat de la deuxieme requete.
    Aucune possibilite de faire une seule requete...

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Est ce que ta premiere requete a un resultat unique ou un ensemble de resultat ?
    si tu n'as qu'un resultat unique, il te suffit de la mettre dans une variable de meme type, puis de lancer ta 2em requete.
    Si tu as un ensemble de resultat, il te faudrat necesairement une deuxieme requete.
    Enfin tout depend de ce que tu veux faire, donne nous plus d'infos sur le resultat final de tes requetes, autant une seule requete pourrais être faites pour ce que tu veux
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Suivant le SGBD utilisé tu peux aussi faire une requète SELECT imbriquée.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  4. #4
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    tu peux aussi conserver le résultat de ta première requête (s'il n'est pas trop gros !!) dans un TClientDataset et utiliser la propriété filter de ce dernier à la place de ta deuxième requête.

  5. #5
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM ( SELECT * FROM LANGUE
                    WHERE ID_GROUPE=1 ) AS MA_TABLE
    WHERE MA_TABLE.ID_TRADUCTION=1
    Fonctionne en MSSQL/Oracle....peut être même en LocalSQL

    Bien entendu c'est exemple à la con

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 106
    Points : 66
    Points
    66
    Par défaut
    Non. Le Select a l'interieur d'un deuxieme ne marche pas chez moi.
    Mon resultat est un ensemble de resultat. et je dois y calculer la somme d'une des colonne.

    Je crois que j'ai reussi a le faire d'un seul coup, mais j'aimerais bien votre avis sur ma requete.

    Le probleme est:
    Table 1 : Code G, Code Table2(B)
    Table2: Code Table2(B), Somme.

    Je dois additionner toutes les sommes qui ont meme Code G, et un code B different.

    Par Ex:
    ---------
    Table 1: Table2:
    G B Somme
    G10 123 1000
    G10 123 1000
    G11 123 1000
    G10 435 500


    Le resulata de ma requete doit etre:
    1500 pour G10 ( Ligne 1 +4)


    J'ai ecrit:

    SELECT DISTINCT SUM(Somme)
    FROM Table2

    LEFT OUTER JOIN Table 1 on
    (Table1.B= Table2.B)

    GROUP BY CodeG

    Ca a l'air de marcher.

  7. #7
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Citation Envoyé par Redsky
    Je dois additionner toutes les sommes qui ont meme Code G, et un code B different.

    Par Ex:
    ---------
    Table 1: Table2:
    G B Somme
    G10 123 1000
    G10 123 1000
    G11 123 1000
    G10 435 500
    Là c'est mieux expliqué
    Et ta réponse est la bonne
    Le distinct n'est pas nécessaire... la SGBD c'est quoi ?

    Par contre tu dit "meme Code G, et un code B different." Dans ton exemple tu met en commun, pour le G10, B=123 et B=435. Sinon il suffit de rajouter B dans le group by

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 106
    Points : 66
    Points
    66
    Par défaut
    Oui c'est ca. Je veux additionner tout ceux qui ont le meme code G. Sans compter 2 fois le meme code B.

    J'utilise MySql. (Version 4 je crois). Et le Select imbrique pas autorise.

    Merci bien!

  9. #9
    Membre actif
    Avatar de Eric.H
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 220
    Points : 286
    Points
    286
    Par défaut
    Citation Envoyé par Redsky
    J'utilise MySql. (Version 4 je crois). Et le Select imbrique pas autorise.
    De toute facon pour ce cas présent, faire un select imbriquée n'aurait servi a rien.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/03/2009, 01h03
  2. Réponses: 1
    Dernier message: 20/02/2009, 18h48
  3. Requête SQL sur le résultat d'une autre requête
    Par rec82 dans le forum Bases de données
    Réponses: 10
    Dernier message: 12/12/2008, 17h40
  4. SQL sur le resultat d'une autre requete SQL
    Par skillipo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/12/2007, 16h45
  5. Réponses: 7
    Dernier message: 21/04/2004, 17h16

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