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

Langage SQL Discussion :

Problème de requête avec l'agrégat


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut Problème de requête avec l'agrégat
    Ma requête sql ne marche pas

    J'ai une table 1 contenant en vrac

    le nom du client (texte) le champ Rappel1,2,3,4 qui eux sont de type booléen.

    J'ai une table 2 qui contient des débits et des crédits. La table 2 est liée par le biais d'un champ commum à la table 2.

    Le code suivant marche sans problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT DISTINCT CLIENTS.CLINOM1 as CLIENTS, Sum(MVTS.MVTDEBIT) - Sum(MVTS.MVTCREDIT) as Somme 
    FROM CLIENTS INNER JOIN MVTS ON CLIENTS.CLICODE = MVTS.MVTCOMPTE WHERE MVTS.MVTCLETTR <>-1  GROUP BY CLIENTS.CLINOM1 ;
    Mais dès que je veux mettre les champs booléens que je veux absolument
    j'ai ce message d'erreur

    vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée 'Rappel1' comme
    une partie de la fonction d'agrégat.
    Comment faire si je veux mettre en affichage moes données textes + mes données numériques + mes données booléennes ?

    Merci de vos conseils avisés

    [/code]

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut suite
    Actuellement j'ai sans problème comme exemple

    le résultat d'une requête comme suit

    Bertrand Declerck 15000

    Mais moi je voudrais


    Bertrand Declerck 15000 True True TRue True
    Soit les valeurs booléenes pour cette personne en plus de son total !

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    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 924
    Points : 51 726
    Points
    51 726
    Billets dans le blog
    6
    Par défaut
    poste ta requête en faute

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut
    Merci de m'aider !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT CLIENTS.CLINOM1 as CLIENTS, Rappel1,Rappel2,Rappel3,Rappel4 , Sum(MVTS.MVTDEBIT) - Sum(MVTS.MVTCREDIT) as Somme 
    FROM CLIENTS INNER JOIN MVTS ON CLIENTS.CLICODE = MVTS.MVTCOMPTE WHERE MVTS.MVTCLETTR <>-1  GROUP BY CLIENTS.CLINOM1 ;

  5. #5
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Avec quel SGBD travailles-tu ? Le type BOOLEAN existe ? Moi je travaille en Oracle 9i et justement je suis obligé de travailler avec des SMALLINTEGER (0 et 1) pour simuler mes champs que je voudrais booléens...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut suite
    En fait il s'agit de données provenant d'accès que j'ouvre avec des requêtes sql sous Delphi.

    Mais ma requête est pourtant bonne ?

  7. #7
    Membre habitué Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Points : 192
    Points
    192
    Par défaut
    Je ne connais pas Delphi ; mais ta requête me semble correcte, bien que tu ne préfixe aucunement tes booléens.

    Tes données sont donc sous Access et de type Booléen, c'est bien ça ? Est-ce que Delphi reconnaît le type Booléen ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut
    Merci à toi

    Oui Delphi reconnaît les valeurs booléennes

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    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 924
    Points : 51 726
    Points
    51 726
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT DISTINCT CLIENTS.CLINOM1 as CLIENTS, 
           Rappel1,Rappel2,Rappel3,Rappel4 , 
           Sum(MVTS.MVTDEBIT) - Sum(MVTS.MVTCREDIT) as Somme
    FROM   CLIENTS 
           INNER JOIN MVTS 
                 ON CLIENTS.CLICODE = MVTS.MVTCOMPTE 
    WHERE  MVTS.MVTCLETTR <>-1  
    GROUP  BY CLIENTS.CLINOM1, Rappel1, Rappel2, Rappel3, Rappel4
    A +

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Points : 61
    Points
    61
    Par défaut suite
    J'ai fait ce message et j'obtiens une violation de clef

    on m'indique que le champ Rappel1 peut indiquer plusieurs tables listées dans la clause.

    kezako ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Mai 2005
    Messages : 192
    Points : 113
    Points
    113
    Par défaut
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GROUP  BY CLIENTS.CLINOM1, CLIENTS.Rappel1, CLIENTS.Rappel2, CLIENTS.Rappel3, CLIENTS.Rappel4

Discussions similaires

  1. Problème de requête avec une condition IN
    Par sorcer1 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/10/2005, 12h56
  2. Problème concaténation requête avec ORACLE
    Par kobe dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/08/2005, 12h57
  3. Réponses: 3
    Dernier message: 11/10/2004, 18h26
  4. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 11h33
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 19h02

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