Requete sql
juju0101
-
KarCAroum Messages postés 274 Date d'inscription Statut Membre Dernière intervention -
KarCAroum Messages postés 274 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous...
un petit peu d'aide svp pour résoudre une requête dont voici le schéma :
CLIENT(CodeCL, NomClient, Adresse, Ville)
PRODUIT(CodeProd, Type, Fournisseur, Prix)
FOURNISSEUR(CodeFourn, NomFornisseur, Adresse, Ville)
COMMANDE(NumCom,Client, Produit, Quantite, Date)
REMISE(Produit, DateDeb, DateFin, PercentageRemise)
La table REMISE contient la remise qui peut être appliqué sur un certain produit pendant un
période déterminé par DateDeb et DateFin.
Les tables comportent les contraintes de clé étrangère suivantes:
- PRODUIT : Fournisseur est lié à CodeForn
- REMISE : Produit est lié à CodeProd
COMMANDE : Client est lié à CodeCL, Produit est lié à CodeProd
La requête étant :
Pour chaque client, afficher ses commandes. Afficher le nom du client, le code du
produit, la quantité commandé, le type du produit et le montant de la commande.
(On ne considère pas des possibles remises sur le prix du produit.)
pour celle-ci je pense que c'est ça :
dites-moi si j'ai faux svp
maintenant j'ai cette requete à faire :
Pour chaque client calculer le montant total de ses commandes. Afficher nom,
code client et montant total. (On ne considère pas des possibles remises sur le prix
du produit.).
Je vois pas comment faire la somme du total des commandes...sachant que le total doit être calculé dans le select...
merci d'avance de prendre le temps de me répondre :-)
un petit peu d'aide svp pour résoudre une requête dont voici le schéma :
CLIENT(CodeCL, NomClient, Adresse, Ville)
PRODUIT(CodeProd, Type, Fournisseur, Prix)
FOURNISSEUR(CodeFourn, NomFornisseur, Adresse, Ville)
COMMANDE(NumCom,Client, Produit, Quantite, Date)
REMISE(Produit, DateDeb, DateFin, PercentageRemise)
La table REMISE contient la remise qui peut être appliqué sur un certain produit pendant un
période déterminé par DateDeb et DateFin.
Les tables comportent les contraintes de clé étrangère suivantes:
- PRODUIT : Fournisseur est lié à CodeForn
- REMISE : Produit est lié à CodeProd
COMMANDE : Client est lié à CodeCL, Produit est lié à CodeProd
La requête étant :
Pour chaque client, afficher ses commandes. Afficher le nom du client, le code du
produit, la quantité commandé, le type du produit et le montant de la commande.
(On ne considère pas des possibles remises sur le prix du produit.)
pour celle-ci je pense que c'est ça :
Select NomClient,CodeProd,Quantité,Type,Prix*Quantite as MontantCommande from ...jointures... Group by NomClient
dites-moi si j'ai faux svp
maintenant j'ai cette requete à faire :
Pour chaque client calculer le montant total de ses commandes. Afficher nom,
code client et montant total. (On ne considère pas des possibles remises sur le prix
du produit.).
Je vois pas comment faire la somme du total des commandes...sachant que le total doit être calculé dans le select...
merci d'avance de prendre le temps de me répondre :-)
A voir également:
- Requete sql
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
Ok mais je n'en ai jamais fait des comme ça...du moins jpense pas je pourrai avoir la solution ou un exemple ?
Pour le Group by il sert juste à regrouper par client...POUR CHAQUE CLIENT
from ...jointures...
Select CodeCL,NomClient,CodeProd,Quantité,Type,sum( MontantCommande)
from req1
group by CodeCL,NomClient,codeprod,quantité,type
j'ai pas le droit de te le faire selon la charte ;)
souviens toi que on met dans le group by tout ce qui n'est pas calculé
(sum, first, count ...)
on garde CodeCL car 2 cleint peuvent avoir le même nom mais 1 commande est faite par 1 seul client
Oui c'est juste pour CodeCl car 2 Client peuvent avoir le même nom
mais on est pas obligé de mettre la suite...codeProd,Quantité,Type...
Je veux pas que tu me le fasse juste comprendre car c'est le sujet de l'an dernier qui est tombé dans ma section donc je veux savoir le faire :-p
seelct NomClient,Total
(Select CodeCL,NomClient,CodeProd,Quantité,Type,sum( MontantCommande) total
from (Select NomClient,CodeProd,Quantité,Type,Prix*Quantite as MontantCommande
from ...jointures...)
group by CodeCL,NomClient,codeprod,quantité,type )
edit :
Select codeclient,NomClient,sum(Prix*Quantite) as TotalCommande
from ...jointures...
Group by NomClient
après cela dépend de ton sgbd
Merci bien à toi pour ton aide alors :-) c'est tellement agréable de tomber sur des gens qui t'expliquent...
Bonne soirée et merci encore ;-)