Cr\u00e9er le sch\u00e9ma relationnel suivant :
Commande(NumCom, DatCom)
LigneCommande(NumCom,NumArt,QteCommandee)
Article(NumArt,PUArt,QteEnStock, SeuilMinimum)
num\u00e9ro 10 et affiche un message 'Commande Normale' ou 'Commande Sp\u00e9ciale' selon que le montant est inf\u00e9rieur ou sup\u00e9rieur \u00e0 100000 DH
commande num\u00e9ro 5 et met \u00e0 jour le stock. Si apr\u00e8s la suppression de cet article, la commande num\u00e9ro 5 n'a plus d'articles associ\u00e9s, la supprimer.
indique pour chaque commande dans une colonne Type s'il s'agit d'une commande normale (montant <=100000 DH) ou d'une commande sp\u00e9ciale (montant > 100000 DH)
diff\u00e9rents, \u00e9crire un programme qui stocke dans une nouvelle table temporaire les 5 meilleures commandes (ayant le montant le plus \u00e9lev\u00e9) class\u00e9es par montant d\u00e9croissant (la table \u00e0 cr\u00e9er aura la structure suivante : NumCom, DatCom, MontantCom)
inf\u00e9rieure ou \u00e9gale au seuil minimum enregistre une ligne de commande avec le num\u00e9ro calcul\u00e9 et une quantit\u00e9 command\u00e9e \u00e9gale au triple du seuil minimum
Set @Montant=(Select Sum(PUArt*QteCommandee) from Commande C, Article A, LigneCommande LC where C.NumCom=LC.NumCom
Case
When Sum(PUArt*QteCommandee) <=10000 then
'Commande Normale'
Else 'Commande Sp\u00e9ciale'
End
From Commande C, Article A, LigneCommande LC
Where C.NumCom=LC.NumCom and LC.NumArt=A.NumArt
Group by C.NumCom, DatCom
Leave a Comment