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 :

PRODUIT prix total= prix unitaire * quantité


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut PRODUIT prix total= prix unitaire * quantité
    Bonjour,


    J'ai une BDD simple avec 2 tables "ensemble" et "composant", reliées par une clé étrangère avec le champs quantité.
    Composant a un champs prix unitaire. J'aimerais savoir comment quel code dois je utiliser pour connaitre le prix total=prix unitaire * quantité.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Merci de respecter les règles de ce forum en donnant notamment la structure de tes tables (dans ton message, on ne sait pas quelles colonnes font la condition de jointure), la requête que tu as essayée, éventuellement un petit jeu de données et le résultat attendu.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    C'est la référence de l'ensemble et la référence du composant qui font la jointure.

    J'avais pensé à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT SUM([qté]*[prix]) AS [total]
      FROM COMPOSANT AS C, Ensemble AS E, intègre AS I
     WHERE (((I.ref)=E.ref) And (C.ref=I.ref)

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour,
    Dans ton premier post tu parles de deux tables dans le deuxième il y en a trois.
    On n'a toujours pas la structure des tables ni leur clé, ni les clé étrangère.
    On ne sait pas de quoi tu veux calculer le prix total, par ensemble, pour toute la table pour un ensemble.

    Quel est le problème avec la requete que tu nous a fourni, mis à part que les jointures ne sont pas normées, et qu'il y a un nombre de parenthèse impressionnant qui nuit à la lisibilité de la bête. Je l'a réécrit avec les jointures comme il faut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT SUM(qté*prix) AS total
      FROM COMPOSANT AS C
    inner join  intègre AS I
    on C.ref=I.ref
    inner join  Ensemble AS E
    on  I.ref=E.ref;
    PS en relisant bien ta requête initiale il y a une parenthèse ouvrante qui ne ferme pas, je n'irait pas jusqu'à dire qu'il y a une parenthèse fermante manquante.
    Cordialement
    Soazig

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    j'ai 2 tables indépendantes
    Ensemble et Composant, avec une table Intègre entre les 2, qui fait office de laison avec un champs qté (quantité).


    La cardinalité entre intègre et ensemble c'est 0-1 (côté intègre) et 0-n pour Ensemble.

    La cardinalité entre intègre et Composant c'est 1-n (côté) Composant et 0-1 (côté intègre)


    La table Ensemble contient les champs
    RefEns (cléprimaire)
    DésignationEns
    PrixVHT

    Table composant:
    RefComp (clé primaire)
    DésignationComp
    PrixHT


    Table Intègre:
    RefComp (clé)
    RefEns (clé)
    Qté

    pour la table intègre je ne sais pas le nom du type de cette liaison mais ça va quand même et pareil pour les clés (je pense clés étrangères)


    Donc voilà mon architecture
    Pour d'autre questions, je suis là.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Par défaut
    Bonjour
    Au vu des tables cela ressemble à une nomenclature.
    En revanche je n'ai pas compris à quoi servait le PrixVHT de la table Ensemble, à moins que ce soit ce que tu essaies de calculer.
    Tu n'as pas répondu à
    On ne sait pas de quoi tu veux calculer le prix total, par ensemble, pour toute la table pour un ensemble.
    Ni à
    Quel est le problème avec la requete que tu nous a fourni,
    Il nous faudrait aussi ton SGBD
    Tes colonnes changent de noms à chaque post cela devient gênant.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT	E.RefEns,
    	DésignationEns,
    	 SUM([qté]*prix) AS prix_de_l_ensemble
    FROM COMPOSANT AS C
    	INNER JOIN  [intègre] AS I
    	ON C.RefComp=I.RefComp
    INNER JOIN  Ensemble AS E
    	ON  I.RefEns=E.RefEns
    group by E.RefEns,
    DésignationEns;
    A+
    Soazig

Discussions similaires

  1. Calcul total = prix * quantité
    Par kof_eve dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 08/09/2011, 12h04
  2. [osCommerce] Affichage prix total dans l'e-mail de confirmation de commande
    Par gandahar1983 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 22/12/2010, 13h31
  3. actualisation total = prix *qté
    Par cutpeter56 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 29/04/2008, 11h26
  4. Calcul prix total d'un panier
    Par kluck3000 dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2008, 18h54
  5. Table produit. Un produit a plusieurs prix
    Par Cyrius dans le forum Requêtes
    Réponses: 10
    Dernier message: 30/10/2005, 00h34

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