|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() |
Bonjour,
J'ai un souci concernant la formulation d'une requete. Celle-ci doit me retourner un montant bien précis qui provient d'une table "tarifs" pour un produit donné. Ma table a les champs suivants : Code :
avec la requête ci-dessous : Code :
Cela pet-il se faire en SQL ou dois-je récupérer toutes les lignes de tarifs pour le produits et passer ensuite avec un triage au niveau du PHP ? Merci de votre aide. |
||||
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Bonjour,
Je pense que la réponse est dans la question: Le résultat correspond parfaitement à la requête. Tu demandes les lignes dont la quantité est >= à 6, le moteur renvoie toutes les lignes dont la quantité est >= 6... Donc je me mets à la place de la base: Qu'est-ce qui fait que tu veux récupérer le prix à 8.00 ? Quels critères doit-elle remplir pour que je la renvoie ? Tatayo. P.S. Petite remarque: Code SQL :
Vu que tu as un critère sur t dans le where, la jointure externe se transforme en jointure interne ! Il faut déplacer la condition dans la jointure: Code SQL :
|
||||
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() |
Il faut savoir que l'exemple que je donne avec les quantités (et les prix) n'est pas fixe, donc à la place de 1, 5, 10 et 15 je pourrais très bien avoir 1, 10, 30, 50. Sinon, je viens de tester avec cette requête :
Code :
--> Non en fait cette requête n'est pas bonne du tout, retour case départ... |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Si le prix est toujours dégressif avec l'augmentation de quantité, vous pouvez écrire ceci je pense :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#5 | |||
|
Membre du Club
![]() |
Citation:
|
|||
|
|
00
|
|
|
#6 | ||||||||||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
Utilisez une vue, ce sera plus facile... En principe on devrait toujours développer les application à partir de vues et non directement sur des tables .
Démonstration : Code :
Code :
Code :
Code :
Code :
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||||||||||
|
20
|
|
|
#7 | |||
![]() ![]() |
Citation:
Code :
__________________
Email : http://scr.im/waldar |
|||
|
20
|
|
|
#8 | |||
|
Membre du Club
![]() |
Citation:
|
|||
|
|
00
|
|
|
#9 | |||||
|
Membre du Club
![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
MySQL n'est pas un SGBD Relationnel. C'est un ersatz. En fait un gestionnaire de fichiers avec une surcouche de SQL qui donne des résultats fantaisistes... En effet MySQL ne sait pas gérer les NULL, d'où des résultats de requête faux !
Utilisez un vrai SGBDR et abandonnez MySQL si vous voulez vraiment faire du SGBD relationnel ! A lire sur le sujet : http://blog.developpez.com/sqlpro/p9...udre-aux-yeux/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#11 |
|
Membre du Club
![]() |
Oui ok c'est bien tout ça mais je n'ai pas la possibilité de changer donc je fais avec ce que j'ai.
|
|
|
00
|
|
|
#12 | |||
![]() ![]() |
Citation:
Code :
Si ce n'est pas un fait établi (voire contrôlé), il vaut mieux utiliser la vue proposée par SQLPro.
__________________
Email : http://scr.im/waldar |
|||
|
00
|
Copyright © 2000-2012 - www.developpez.com