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 requete SQL select * from( select )


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2011
    Messages : 177
    Par défaut Problème requete SQL select * from( select )
    Bonjour,

    J'ai un problème avec la requête SQL;
    j'utilise des table paradox (dbase 3) et delphi 7;

    j'ai mis la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from (select nom , prenom, date from Eleves) Table1
    le code renvoi l'erreur sur Select (en rouge) pourquoi !

  2. #2
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,
    Citation Envoyé par yacinew Voir le message
    j'utilise des table paradox (dbase 3) et delphi 7;
    C'est soit Paradox, soit dBase 3 mais pas les deux !
    Par contre, c'est le BDE qui gère ces 2 formats...

    Citation Envoyé par yacinew Voir le message
    j'ai mis la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from (select nom , prenom, date from Eleves) Table1
    le code renvoi l'erreur sur Select (en rouge) pourquoi !
    Outre que les sous-requêtes de ce type ne doivent pas être gérées par le BDE, il n'y a aucun intérêt à écrire la requête comme vous l'avez fait.
    select nom , prenom, date from Eleves suffit amplement...

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2011
    Messages : 177
    Par défaut
    Merci Mr Ph.B

    mais ma requête est trop longe :
    je cherche à Sommer des résultat sans faire le filtre après je sélectionne les données et je filtre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            select * from (
     
         select DD,COMMUNE,FACT,SUM(F.ACC) AC2,
          from Fact2.DBF F
          where DD=''TTRT'' and MT_Paye<>0
           inner JOIN  affaires2.DBF A ON F.REF = A.REF
           GROUP BY F.REF,DD,FACT
     
          ) Tsomme
              where FACT='DGD'

  4. #4
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    La clause de regroupement est erronée : elle doit reprendre toutes les colonnes de la clause de sélection, exceptées les fonctions d’agrégation (SUM, AVG, MIN, MAX,...)
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select
      DD, COMMUNE, FACT, SUM(F.ACC) as AC2,
    from Fact2.DBF F
    inner join affaires2.DBF A ON F.REF = A.REF
    where DD='TTRT' 
    and MT_Paye<>0
    and FACT='DGD'
    group by DD, COMMUNE, FACT

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2011
    Messages : 177
    Par défaut
    Citation Envoyé par Ph. B. Voir le message
    La clause de regroupement est erronée : elle doit reprendre toutes les colonnes de la clause de sélection, exceptées les fonctions d’agrégation (SUM, AVG, MIN, MAX,...)
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select
      DD, COMMUNE, FACT, SUM(F.ACC) as AC2,
    from Fact2.DBF F
    inner join affaires2.DBF A ON F.REF = A.REF
    where DD='TTRT' 
    and MT_Paye<>0
    and FACT='DGD'
    group by DD, COMMUNE, FACT
    Si je mis la condition FACT='DGD'
    la somme de la collone ACC est erronée , elle me donne seulement la dernière ligne DGD (pas la somme de toutes les ligne);

  6. #6
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Citation Envoyé par yacinew Voir le message
    Si je mis la condition FACT='DGD'
    la somme de la collone ACC est erronée , elle me donne seulement la dernière ligne DGD (pas la somme de toutes les ligne);
    Bon, avant d'aller plus loin et de continuer à tâtonner dans le brouillard, donnez:
    1. la structure des 2 tables impliquées
    2. un jeu d'essai pour ces 2 tables
    3. le résultat attendu par rapport à ce jeu d'essai

    Cela permettra de mieux cerner le besoin et comment y répondre de manière pertinente...

Discussions similaires

  1. Problème requête SQL select * from( select )
    Par yacinew dans le forum Paradox
    Réponses: 1
    Dernier message: 12/04/2015, 07h15
  2. Select * from (select * from T)
    Par hadi2007 dans le forum Informix
    Réponses: 3
    Dernier message: 09/08/2009, 11h36
  3. select * from (select * from mabase) Impossible ?
    Par maniolo dans le forum Sybase
    Réponses: 9
    Dernier message: 04/03/2009, 13h33
  4. Problème requete SQL SELECT avec access
    Par cactus666 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/12/2007, 12h46
  5. Réponses: 6
    Dernier message: 20/11/2007, 11h14

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