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 PostgreSQL Discussion :

Additionner des données non numériques


Sujet :

Requêtes PostgreSQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Additionner des données non numériques
    Bonjour,

    je suis en train de faire une BDD pour une collection d’écusson.
    Je souhaite comptabiliser le nombre d’écussons dans ma base.

    Dans ma table les écussons sont identifié par leur nom et adresse du dossier où ils sont stockés. J’ai regardé plusieurs explications, mais je n’y arrive pas.
    Dans ma table, j’ai activé une ligne « Total » et j’ai bien en dessous de chaque champ le nombre d’écussons enregistrés.
    Mais je ne sais pas comment faire pour additionner tous ces résultats et les faire apparaître dans un champ de formulaire.

    J’ai aussi créé une requête en mode création j’ai fait apparaître la ligne « opération » et mis « regroupement » sous chaque champs.
    Lorsque je fais « exécuter « et que la requête passe en feuille de données et que j’active « Totaux », j’ai bien dans la ligne « Total » sous chaque colonne le nombre d’écussons.

    Mais je ne sais pas comme dans la table additionner pour avoir le total.
    J’ai essayé de créer une colonne « somme des écussons », afin d’avoir par ligne un total et ensuite faire la somme et là encore je n’y arrive pas.

    Est-il possible de faire la somme de données lorsqu'elles ne sont numériques ? Si oui pouvez-vous m’aider ?

    Merci d’avance et bonne année.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    janvier 2010
    Messages
    5 409
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : janvier 2010
    Messages : 5 409
    Points : 12 469
    Points
    12 469
    Par défaut
    Bonjour,

    Votre besoin n'est absolument pas clair.

    Postez la structure de vos tables, un jeu d'essai, et le résultat attendu...

  3. #3
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 5 308
    Points : 15 696
    Points
    15 696
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    Effectivement, l'expression de besoin est obscure, un bref extrait des données en entrée et du résultat attendu en sortie seraient les bienvenus

    Citation Envoyé par Jeanaiasse Voir le message
    Est-il possible de faire la somme de données lorsqu'elles ne sont numériques ? Si oui pouvez-vous m’aider ?
    Oui, mais c'est ce qu'il ne faut pas faire !
    Soit vous stockez des montants, auquel cas il faut que le type soit numérique avec une taille et un nombre de décimales le cas échéant adapté au besoin
    Soit vous stockez des libellés, codes, dates ou autres valeurs qui ne sont pas des montants, en ce cas, faire des calculs nécessite une conversion de type (CAST), ce qui est risqué (rien ne garantit qu'on a bien une valeur numérique) et contre-performant

  4. #4
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut JHe me suis débrouillé autrement
    Merci d'avoir pris le temps de regarder mon post, effectivement le plus dur est de trouver la bonne formulation pour se faire comprendre.
    A force d'essais je suis arrivé à mes fins, je ne sais pas trop comment, mais le résultat me convient. Dans mon formulaire (une fois la source mise sur ma requête), dans la fenêtre du compteur sur contrôle source,
    j'ai réussi à additionner les champs de ma requête (=Compte([Ecusson1])+Compte([Ecusson2])+Compte([Ecusson3])+Compte([Ecusson4])+......)). Ce que je m'arrivait pas à faire au paravent.
    Le seul chose que je n'arrive pas à faire sait que le compteur affiche les résultats au fur et à mesure des enregistrements (le compteur s'actualise qu'à l'ouverture, j'ai essayé différent code VBA mais rien ne marche).
    Ce qu'il faut savoir c'est que mon compteur est sur un formulaire de démarrage et que les enregistrements se font par un formulaire de saisie.

    Merci à tous d'avoir pris le temps de me répondre, si vous avez une solution pour ce dernier petit problème.
    merci d'avance et bonne année

  5. #5
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 5 308
    Points : 15 696
    Points
    15 696
    Billets dans le blog
    1
    Par défaut
    Une solution est difficile à fournir quand on ne comprends pas bien le besoin

    J'ai l'impression, peut-être à tort, que votre problème ne concerne pas PostgreSQL mais plutôt des formulaires et donc l'application...
    quelques copies d'écran pour situer là où vous rencontrez des difficultés nous mettraient sur la piste.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    J'ai un formulaire de démarrage (Accueil),où je choisis se que je veux faire et où se trouve mon compteur d'écussons enregistrés.
    du Formulaire "Accueil" je peux ouvrir un formulaire "créer une chiffe Ecussons"
    Nom : demarrage.JPG
Affichages : 32
Taille : 175,6 Ko et Nom : Saisi.JPG
Affichages : 32
Taille : 78,3 Ko.
    Ma Bdd est faite de tables pré-remplies (Continents, pays, régions,...,et une de ville que je remplie au fur et à mesure),lorsque j'enregistre une fiche elle va enrichir une table T_Ecussons.
    Lorsque j’enregistre de mon formulaire "Écussons France", je souhaiterai que mon compteur qui se trouve sur mon formulaire "Accueil" se met à jour en même temps.
    J'ai essayé d'adapter des codes trouvés ça et là, mais cela ne fonctionne pas. je ne sais pas comment actualiser mon compteur d'écussons de mon formulaire "Accueil" en fonction de l'enregistrement de mon formulaire "Ecussons France".
    Je ne sais pas si ces renseignements vont arriver à faire comprendre ma problématique.

  7. #7
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    19 399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 19 399
    Points : 46 094
    Points
    46 094
    Par défaut
    Il suffit qu'à la fin de l'enregistrement de l'écusson, vous lanciez une requête de comptage et affichiez le résultat.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUT(*) AS NOMBRE FROM T_Ecuson
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  8. #8
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    merci je vais essayer de suite

  9. #9
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    bonjour, je pensais pouvoir y arriver, mais ce n'est pas le cas.
    En gros je ne sais quoi faire du code que vous m'avez donné. Dois-je l'insérer dans ma requête de calcul et dans ce cas comment faire ?
    Dois-je le rajouter dans la macro du bouton d'enregistrement ou bien le mettre dans un Evénement ?

  10. #10
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 5 308
    Points : 15 696
    Points
    15 696
    Billets dans le blog
    1
    Par défaut
    Il y avait une faute de frappe dans la proposition de SQLPro, la bonne syntaxe est :
    SELECT COUNT(*) AS NOMBRE FROM T_Ecuson.

    Publiez les différentes requêtes que vous avez testées ainsi que le script de création de vos tables (ordres CREATE TABLE) comme déjà demandé par aieeeuuuuu

  11. #11
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    je découvre Access que depuis quelques semaines et je ne suis pas sur de comprendre la demande de script de création de vos tables (ordres CREATE TABLE).
    voici ma requête:

    Nom : Requete.JPG
Affichages : 17
Taille : 137,7 KoNom : Requete2.JPG
Affichages : 18
Taille : 112,3 KoNom : requete 3.JPG
Affichages : 17
Taille : 148,2 Ko

    dans mon formulaire d'accueil voici ce que j'ai mis dans " source contrôle":

    Nom : demarrage1.JPG
Affichages : 18
Taille : 110,1 Ko

    Je n'utilise qu'une requête pour le calcul et une seul table (ci-joint):

    Nom : table Ecussons.JPG
Affichages : 18
Taille : 235,8 Ko

    les autres requêtes de ma base me servent pour la recherche et la modification des fiches de mes écussons.

    bonne journée

  12. #12
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 5 308
    Points : 15 696
    Points
    15 696
    Billets dans le blog
    1
    Par défaut
    Aïe...

    Ne le prenez pas mal, mais... vous avez fait à peu près tout ce qu'il ne faut pas faire en terme de modélisation d'une BDD : non respect des formes normales, tables obèses, modèle à plat avec redondances à gogo...
    Pour éviter tous ces ecueils je vous propose de commencer par demander conseil sur la modélisation des BDD dans la section qui va bien, à savoir ICI

    Faute de quoi, votre BDD ne sera ni fiable ni performante et vos requête seront complexes voire impossible à réaliser...

  13. #13
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    bon merci d'avoir pris du temps.
    je vais voir pour la reprendre, si vous avez un lien de tuto pour que je commence sur une bonne base ca serait sympa
    merci.

  14. #14
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    5 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 5 308
    Points : 15 696
    Points
    15 696
    Billets dans le blog
    1
    Par défaut
    Vous trouverez plein d'exemples dans la section schéma (lien fourni dans ma réponse précédente)

    le plus important : bien identifier tous les objets de gestion (les écussons, les villes, les régions...) et bien collecter les règles de gestion, toute la suite en dépend

  15. #15
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    novembre 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : novembre 2019
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    je jete l'éponge je mets en résolu

    merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2010, 11h11
  2. Grouper/additionner des données avec Excel
    Par naranja dans le forum Excel
    Réponses: 1
    Dernier message: 20/10/2008, 20h04
  3. Réponses: 3
    Dernier message: 25/09/2008, 20h17
  4. [Debutant] additionner des données
    Par Jerez62 dans le forum IHM
    Réponses: 2
    Dernier message: 01/07/2008, 11h34
  5. [SQL-2005] Rechercher des caractères non numériques
    Par castaka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 03/05/2007, 12h12

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