Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3191 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide pour une requette

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour une requette

n°1338980
mc_cut_kil​ler
Posté le 04-04-2006 à 17:15:56  profilanswer
 

Bonjour à tous,
 
je viens poser en fait plus une question de logique qu'une question SQL.
 
J'ai une table tranche_tarif et une table produit. A chaque produits correspond ses tranches tarifs.
Je foudrais afficher par défaut lors du choix de la quantité le tarif issu de la tranche correspondante.
 
Voici un tableau d'exemple :
http://img112.imageshack.us/img112/4150/pbsql3oe.jpg
 
Prenons l'exemple où la quantité est 9, il faudrais donc choisir la tranche <= qui est la plus proche.  
Soit la numéro 2, le tarif serait donc 9.
 
J'ai essayé ca :

Code :
  1. SELECT tarif as tarif FROM p_tranche_tarifs WHERE produit_id LIKE '$produit_id' AND tranche_tarif <= '$qte_produit'";


Mais ca marche pas, car ca prend toujours la première tranche, soit un tarif = 10.
 
Si quelqu'un peut me donner un coup de main  :ange:
 
 
Edit : j'utilise MySQL

Message cité 1 fois
Message édité par mc_cut_killer le 04-04-2006 à 17:16:28
mood
Publicité
Posté le 04-04-2006 à 17:15:56  profilanswer
 

n°1339020
jeoff
Posté le 04-04-2006 à 17:48:23  profilanswer
 

Deux pistes :
- trie tes tarifs par ordre décroissant (avant filtrage sinon ca sert à rien boulette :/)
- utilise l'opérateur modulo si tes paliers sont de 5 en 5 genre tranche_tarif= '$qte_produit'-modulo('$qte_produit',5)
 
La première solution est "universelle", la seconde est plus casse gueule car si un jour tu passes le palier à +6, c'est mort :s


Message édité par jeoff le 05-04-2006 à 09:48:25
n°1339025
zapan666
Tout est relatif
Posté le 04-04-2006 à 17:54:19  profilanswer
 

mc_cut_killer a écrit :


Code :
  1. SELECT tarif as tarif FROM p_tranche_tarifs WHERE produit_id LIKE '$produit_id' AND tranche_tarif <= '$qte_produit'";



 [:totoz] elle est bizare ta requète
( genre tarif as tarif [:pingouino], et à quoi sert $produit_id ici ?!?)
Je ferrais ça moi

Code :
  1. SELECT tarif FROM p_tranche_tarifs WHERE tranche_tarif <= '$qte_produit'


 
 
edit : voir même pour être sûr de n'avoir qu'un seul résultat (et le bon de préférence)

Code :
  1. SELECT tarif FROM p_tranche_tarifs WHERE tranche_tarif <= '$qte_produit' ORDER BY tranche_tarif DESC LIMIT 1


Message édité par zapan666 le 04-04-2006 à 17:57:24

---------------
my flick r - Just Tab it !
n°1339397
mc_cut_kil​ler
Posté le 05-04-2006 à 09:08:35  profilanswer
 

Merci pour vos réponses, je vais essayer la méthode universelle car il n'y a pas de palier.  
 
Sinon pour répondre à zapan666, produit_id me sert à trouver facilement un produit, car deux produit peuvent avoir le même code mais pas le même indice. Par conséquent seul l'id est unique.
 
Voila, encore merci et @+


Message édité par mc_cut_killer le 05-04-2006 à 09:08:51

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide pour une requette

 

Sujets relatifs
besoin d'aide/votre avisDemande aide pour develloper sur windows CE
tables (Access) besoin d'aideAide XML DTD
[FLASH] Besoin d'aide - remuneration possible - MAJ 1aide pour 1 sous-requete ds la base PUBS de SQL Server 7 microsoft
[VBA] Impossible d'accéder à l'aide sous Visual Basic editor ...aide débutant en python
aide pour requette[mysql] aide pour une requette
Plus de sujets relatifs à : Aide pour une requette


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR