REQUETTE SQL SERVER 2005

Résolu
destinsory - 15 mars 2013 à 01:31
 destinsory - 16 mars 2013 à 03:40
bonsoir,
pouvez vous m'aider a résoudre cette requette:
Écrire un programme qui affiche la liste des commande et indique pour chaque commande dans une colonne type s'il s'agit d'une commande normale (montant inférieur ou égal à 100) ou d'une commande spécial (montant supérieur à 100)
NB:
-voici la structure de la table commande :
numéro commande
date commande
numéro client
-voici la structure de la table détail commande :
numéro commande
numéro produit
quantité

5 réponses

pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
16 mars 2013 à 00:13
Tout d'abord, il te faut récupérer le montant de la commande, donc faire la jointure avec les produits.
Ensuite, il faut vérifier si le montant de la commande est supérieur à 100 ou pas (donc si elle est "normale" ou "spéciale"). Un simple case fera l'affaire.
La commande "Group By" permet de regrouper le numéro de commande et donc de calculer le montant de cette commande.

Voici un exemple de requête que je n'ai pas pu testé car je n'ai pas ta base (donc la requête est faite de tête).
select  c.[numéro commande]
        , c.[date commande]
        , c.[numéro client]
        , sum(d.[quantité]*p.[prix unitaire ]) as [Montant Commande]
        , case when sum(d.[quantité]*p.[prix unitaire ]) > 100 then 'Spéciale'
          else 'Normale'
          end as [Type]
from [commande] c
inner join [détail commande] d on c.[numéro commande]=d.[numéro commande]
inner join [produit] p on d.[numéro produit]=p.[numéro produit]
group by c.[numéro commande], c.[date commande], c.[numéro client]


Bon dev

-------------------
Oderint dum metuant
3
pmcoste Messages postés 72 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 25 juillet 2013 1
15 mars 2013 à 10:22
Il ne te manquerait pas le prix par hasard ? car comment veux-tu déterminer le montant si tu ne les a pas ? Il manque certainement la table produit dans laquelle tu as le montant de chaque produit ?

Je te donne un exemple de calcul de la quantité par commande :
select c.[numéro commande], c.[date commande], c.[numéro client], sum(d.[quantité])
from [commande] c
inner join [détail commande] d on c.[numéro commande]=d.[numéro commande]
group by c.[numéro commande], c.[date commande], c.[numéro client]



-------------------
Oderint dum metuant
0
-voici la structure de la table produit
référence produit
désignation
prix unitaire
quantité stock


Au faite mon gros problème est comment créer de la colonne "type" a l'affichage,elle ne doit pas être dans une table.cette colonne ne doit pas exister physiquement mais seulement a a l'affichage ,après l'affichage elle doit disparaitre.

merci
0
Je suis vous remercie beaucoup sa marche a merveille .les mots me manque pour manifester ma joie .une fois encore merci,merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je suis vous remercie beaucoup sa marche a merveille .les mots me manque pour manifester ma joie .une fois encore merci,merci.
0
Rejoignez-nous