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 :

[SQL]insérer le total d'une requete dans une table


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [SQL]insérer le total d'une requete dans une table
    Bonjour,

    Je voudrais savoir si c'était possible de mettre les résultat d'une requete dans une table.

    Je m'explique :

    dans une table j'ai :
    salaire1 | salaire2 | prets conso| total

    ma requete c'est :
    total:[salaire1] + [salaire2] - [prets conso]

    comment puis-je mettre le résultat dans le total de la table?

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Bonjour,

    1 - Il est déconseillé de stocker dans la table une valeur calculée puisque de toute façon tu peux la retrouver à tout moment en faisant le calcule que tu as décris. De plus, le résultat du calcul changera si une des valeurs de la formule est modifiée, donc tu peux avoir un problème de synchronisation de ton total par rapport aux autres champs.
    2 - Si tu tiens vraiment à le faire, tu peux le faire à partir d'une requête de mise à jour (UPDATE - cf. Cours SQL dans la page des tutoriels).

    En espérant t'aider.
    J'aime les gâteaux.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu es nouveau sur le forum, sache que tu peux consulter les FAQS, les Codes Sources ainsi que les tutos.

    Tu pourra strouver ici une source de Tofalu (en milieu de page) qui pourrait t'aiguiller.

    Starec

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 86
    Points : 73
    Points
    73
    Par défaut [sql] Insert Into;
    bonjour,

    tu peut te servir de l' instruction SQL suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO table_destination [total)] VALUES ([salaire1] + [salaire2] - [prets conso]);
    bonne chance

    yohan

  5. #5
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    @J_Yohan
    Je ne pense pas que la requête soit correcte puisqu'on ne sait pas à quel "salaire1" on se réfère. Il faut plutôt mettre à jour l'enregistrement qu'en créer un nouveau. Ou alors créer le total en même temps que les autres valeurs et dans ce cas faire une requête d'insertion (INSERT INTO) comme tu l'as fait mais en insérant les 4 champs en même temps.

    @Starec
    Je pense qu'il souhaite appliquer la formule pour chaque enregistrement. En fait c'est juste un champ supplémentaire qui est le résultat d'un calcule entre les autres champs du même enregistrement.

    @toadnam
    N'hésite pas à donner plus de détails puisqu'il semblerait qu'on puisse faire plusieurs interprétation de ton problème.
    J'aime les gâteaux.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Demco

    @Starec
    Je pense qu'il souhaite appliquer la formule pour chaque enregistrement. En fait c'est juste un champ supplémentaire qui est le résultat d'un calcule entre les autres champs du même enregistrement.
    Je crois qu'il faut qu'il nous éclaire plus, car si c'est une sorte de sous-totaux comme dans Excel c'est une très mauvaise idée.

    toadnam peux-tu nous éclairer un peu plus : table de départ, table de destination et but.

    Starec

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut petites explications
    Alors en fait ce que je voudrais c'est de pouvoir calculer automatiquement la capacité d'emprunt d'un client en entrant les divers critères :

    a. revenus Mr
    b. revenus Mme
    c. prets conso
    d. revenus fonciers
    e. prets fonciers
    f. autres revenus

    la première formule est :
    G= (a+b+f)-(c)

    la deuxième formule est :
    H= G+ (d-e) revenus net

    la capacité d'emprunt est égale à :
    33% des revenus net :
    H*0.33

    en sachant que le résultat doit s'afficher dans la table ou alors que je puisse le voir dans un formulaire.

    Merci

  8. #8
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    G= (a+b+f)-(c)
    Dans ton formulaire en VBA tu peux tout à fait faire (sur l'événement Form_Current par exemple) :
    txtG = txtA+txtB+txtF-txtC

    (où txt = zone de texte)

    En espérant t'aider.
    J'aime les gâteaux.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut effectivement
    Demco, tu as raison sur le fait que je veuille faire le total pour chaque enregistrement .

    exemple :

    civilités | nom | prénom | salaire1 | salaire2 | prets conso | revenus fonciers |prets fonciers| autres revenus |revenus net | capacite d'emprunt

    monsieur | dupont | henry | 1400 €| 1000€| 400€ | 850€ | 600€ | 100€ | 2350€ | 775.5€

    voilà ce que je voudrais faire en gros.

    est-ce que vous comprenez mieux?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 43
    Points : 29
    Points
    29
    Par défaut
    Salut !

    j'ai semblablement la même question sans avoir trouvé de solution :


    J'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    MATABLE
    INSEE  | NB_PAR_TYPE | TYPE | NB_TOTAL
    01001     2             A
    01001     3             B
    01001     4             C
    01002     4             D
    01002     2             B
    01002     1             C
    J'aimerais (le but étant de le fournir à un collègue sous Excel):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    MATABLE
    INSEE  | NB_PAR_TYPE | TYPE | NB_TOTAL
    01001     2             A       9
    01001     3             B       9
    01001     4             C       9
    01002     4             D       7
    01002     2             B       7
    01002     1             C       7
    J'ai fait une requête de sélection pour calculer le NB_TOTAL(ça ça fonctionne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT INSEE, Sum(NB_PAR_TYPE) AS NB_TOTAL
    FROM MATABLE
    GROUP BY INSEE
    UNION
    SELECT "Total" as INSEE,  sum(NB_PAR_TYPE) as NB_TOTAL
    FROM MATABLE;
    et j'ai donc pensé pouvoir faire un update de ma table à partir de la requête de sélection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE MATAble SET MATABLE.NB_TOTAL = [REQ_TOTAL]!NB_TOTAL;
    mais ce dernier point ne marche pas et ne me renvoie que des valeurs vides...

    Une idée ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/10/2011, 18h15
  2. [MySQL] une requete dans une requete
    Par ots2 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/08/2011, 10h49
  3. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 11h13
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 14h48
  5. Utilisation d'une requete dans une requete update
    Par hellbilly dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2005, 16h09

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