REQUETTE SQL SERVER 2005

Résolu
Signaler
-
 destinsory -
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

Messages postés
72
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
25 juillet 2013
1
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
Messages postés
72
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
25 juillet 2013
1
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
-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
Je suis vous remercie beaucoup sa marche a merveille .les mots me manque pour manifester ma joie .une fois encore merci,merci.
Je suis vous remercie beaucoup sa marche a merveille .les mots me manque pour manifester ma joie .une fois encore merci,merci.