CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Qui s'y connaît en requêtes SQL ?

Homeworks
Homeworks
Niveau 4
03 mai 2014 à 20:11:09

Salut,

J'ai des requêtes SQL à faire, si on pouvait me corriger svp.

Modèle relationnel + Requêtes :
http://puu.sh/8xvVk.png

1)
SELECT COUNT (RéfProduit)
FROM LIGNE-FACTURE
AND CodeFact = "AA" ;

Question : Dois-je pas plutôt faire : SELECT SUM (Quantité*RéfProduit) ?
En fait j'ai du mal à comprendre à quoi correspond "Quantité" ici.

2)
SELECT RéfProduit, DésignProduit, MAX (PUHT)
FROM PRODUIT ;

3)
SELECT PUHT*Quantité
FROM PRODUIT, LIGNE-FACTURE
WHERE PRODUIT.RéfProduit = LIGNE-FACTURE.RéfProduit
AND CodeFact = "XX"
AND RéfProduit = "YY" ;

4)
SELECT (PUHT*Quantité)*(1-TauxRemise)
FROM PRODUIT, LIGNE-FACTURE, CATEGORIE, CLIENT, FACTURE
WHERE PRODUIT.RéfProduit = LIGNE-FACTURE.RéfProduit
AND FACTURE.CodeFact = LIGNE-FACTURE.CodeFact
AND CLIENT.CodeClient = FACTURE.CodeClient
AND CATEGORIE.CodeCat = CLIENT.CodeCat
AND CodeFact = "XX"
AND RéfProd = "YY" ;

Merci

Homeworks
Homeworks
Niveau 4
03 mai 2014 à 20:45:09

:up:

Homeworks
Homeworks
Niveau 4
03 mai 2014 à 21:09:06

:up:

[192_WARS]v3
[192_WARS]v3
Niveau 10
03 mai 2014 à 21:25:04

Tant que c'est en première page de la liste des sujets c'est pas la peine de upper coco

CrayonsIkea
CrayonsIkea
Niveau 10
04 mai 2014 à 00:26:44

Ça fait presque un an que j'ai pas fait de SQL, mais bon je peux toujours essayer :

1) pour moi c'est la 2ème définition qui est la bonne

2) ok, je ferais quand même WHERE PUHT = MAX(PUHT) non ? Je sais pas si MAX passe directement dans SELECT

3) ça me semble bien, par contre je pense qu'on veut parler du prix unitaire, pas la peine de multiplier par la quantité

4)idem

Sinon sur des tables de cette taille tu peux les implémenter et tester directement tes requêtes, ça ira plus vite

Homeworks
Homeworks
Niveau 4
04 mai 2014 à 14:05:31

Merci de ta réponse. :)

Pour la 1), j'ai finalement mis SUM(Quantité) vu qu'on veut le nombre d'articles commandés.

2) Il me semble que juste MAX(PUHT) ça passe :(

3) Si on veut le montant, faut bien que je multiplie la quantité par le PUHT non ? Sinon j'aurais juste le prix de l'article...

Crayons_Ikea
Crayons_Ikea
Niveau 11
04 mai 2014 à 14:13:07

On te demande le prix du produit, pour moi c'est le prix unitaire …

Disparaitre
Disparaitre
Niveau 10
04 mai 2014 à 14:50:15

Ah le SQL :bave:

1) Je pense que c'est un SUM(Quantité) effectivement

2) Le MAX(PUHT) passe pas tout seul, si tu fais un MAX(PUHT) il te renverra le prix le plus haut, ca répond pas à la question. Parce exemple si l'article le plus cher c'est une souris à 25, il te renverra 25 et pas souris. Vu la question, je ferai un
SELECT RéfProduit (éventuellement DésignProduit en plus)
FROM PRODUIT
WHERE PUHT = SELECT MAX(PUHT)
FROM PRODUIT;
( Vu que le max est une fonction d'agrégation, tu peux pas faire un PUHT = MAX(PUHT) il faut refaire un select )

Pour le 3 et le 4 ca m'a l'air pas mal, après un conseil, c'est souvent lourd de remettre le nom entier des tables pendant une jointure, c'est mieux de donner un alias la plus part du temps, ca va plus vite :hap:

Après ce que j'aime pas trop dans les requêtes posées comme ça, c'est qu'il y a vite ambigüeté, j'aurais fait comme toi perso, mais peut être que Crayons_Ikea a raison :hap:

Homeworks
Homeworks
Niveau 4
04 mai 2014 à 18:48:58

Crayons_Ikea Voir le profil de Crayons_Ikea
Posté via mobile le 4 mai 2014 à 14:13:07 Avertir un administrateur
On te demande le prix du produit, pour moi c'est le prix unitaire …

:d) On demande pas le prix unitaire, on demande le montant. Donc il se peut que sur la facture, le client achète un produit plusieurs fois. Si j'affiche le PUHT, j'aurai le PUHT, mais si le client a acheté plusieurs fois le produit là ? Il ne m'affichera pas la quantité*PUHT

Disparaitre :d) Je ne sais pas, je n'ai pas appris comme ça, tu me mets le doute...
J'ai appris qu'on pouvait mettre MAX(X) dans SELECT donc pour moi :
SELECT RéfProduit, DésignProduit, MAX (PUHT)
FROM PRODUIT ;
me semble juste :(

Disparaitre
Disparaitre
Niveau 10
04 mai 2014 à 19:31:05

My bad, je viens de faire quelques recherches et effectivement ça marche pour le MAX, toutes mes excuses :hap:

Sous forums
  • Cours et Devoirs
  • Politique
  • Métiers & Orientation
  • Environnement & Nature
  • Histoire
  • Philosophie
La vidéo du moment