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

Requêtes et SQL. Discussion :

Requête SQL - Distinct


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2019
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2019
    Messages : 93
    Points : 70
    Points
    70
    Par défaut Requête SQL - Distinct
    Bonjour,

    Je ne parviens pas à écrire une requête dont le but est de présenter par compte financier la date de la dernière opération enregistrée dans le journal des opérations pour ce compte et les totaux mensuels en recettes et dépenses pour chacun pour toute l'année.
    Je m'explique.

    J'ai 3 tables dans la base de données.
    La 1ère est le journal des opérations reprenant notamment l'exercice fiscal (texte court, 4), la date de l'opération, le montant (double), le libellé (texte court 33), le compte financier (texte court, 2) et le compte budgétaire (texte court, 3)
    La 2ème table contient les identifiants du compte financier : nom court du compte (clé, texte court, 2), nom complet du compte (texte court, 15), ....
    La 3ème table contient, par compte financier, des données récapitulatives des opérations périodiques : nom court du compte (texte court, 2), solde_initial (double), opérations du mois (double), etc....
    Les 3 tables se relient par le nom court du compte. Il y a actuellement 5 comptes financiers actifs et plusieurs centaines d'opérations enregistrées pour le journal.

    Pour dresser l'état, je me base sur une requête simple, à savoir :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT tblc_02_Banques_soldes.CompteBanque, tbl_Banques.NM_COMPLET, tbl_Banques.LIBELLES, tblc_02_Banques_soldes.Exercice, tblc_02_Banques_soldes.Solde_31décembre, tblc_02_Banques_soldes.Solde_depart, tblc_02_Banques_soldes.Ops_01_IN, tblc_02_Banques_soldes.Recettes_01, tblc_02_Banques_soldes.Depenses_01, tblc_02_Banques_soldes.Ops_01_OUT, tblc_02_Banques_soldes.Ops_02_IN, tblc_02_Banques_soldes.Recettes_02, tblc_02_Banques_soldes.Depenses_02, tblc_02_Banques_soldes.Ops_02_OUT, tblc_02_Banques_soldes.Solde_final, tblc_01_Journal.DAT_OPERAT
    FROM (tbl_Banques INNER JOIN tblc_02_Banques_soldes ON tbl_Banques.NM_REDUIT = tblc_02_Banques_soldes.CompteBanque) INNER JOIN tblc_01_Journal ON tblc_02_Banques_soldes.Exercice = tblc_01_Journal.EXERCICE
    WHERE (((tblc_02_Banques_soldes.CompteBanque)<"ZZ") AND ((tblc_02_Banques_soldes.Exercice)=Year([Formulaires]![frm_05a_Etats]![txt_LastOPs])))
    ORDER BY tblc_02_Banques_soldes.CompteBanque, tblc_01_Journal.DAT_OPERAT DESC;

    Tout fonctionnait correctement jusqu'à ce que je tente d'introduire la date de la dernière opération du compte : "tblc_01_Journal.DAT_OPERAT DESC" car au lieu d'avoir 5 fiches, j'en ai maintenant près de 4.000.

    J'ai tenté d'ajouter les paramètres TOP n / DISTINCT, .... mais sans meilleur résultat.

    Je ne vois pas comment faire ici.

    Merci d'avance pour toute aide à ce sujet

    Guy

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 088
    Points : 5 204
    Points
    5 204
    Par défaut
    Bonjour,
    Ce sont des agrégats classiques à priori :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select moncompte, max(madate), sum(recette), sum(depense) from (........) group by moncompte
    Comment distincte-on les recettes et les dépenses ?
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

Discussions similaires

  1. débutant SQL : DISTINCT
    Par free07 dans le forum Langage SQL
    Réponses: 15
    Dernier message: 13/11/2009, 09h44
  2. [SQL]DISTINCT et INSERT >> violation de clé ?
    Par killkool2001 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 25/05/2007, 11h57
  3. Propriete SQL Distinct
    Par cbr5151 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2006, 17h16
  4. [AJAX] script avec une reqête sql
    Par chorokari dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/06/2006, 10h33
  5. REQUETE SQL : distinct / first
    Par partner35000 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/03/2006, 12h48

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