j'ai besoin d'un coup de pousse en SQL

j'ai besoin d'un coup de pousse en SQL - Programmation

Marsh Posté le 20-04-2001 à 18:28:18    

Voila mon pb
 
je dispose d'une table qui reference des produits et des prix. Sachant qu'un produit peut avoir plusieurs prix.
Voila mes besoins -> creer une requete qui me permet d'obtenir les 3 meilleurs prix pour chaque produit
 
exemple
 
Produits  Prix
 
a       10
a       12
a       8
b       10
a       14
b       6
a       9
a       15
b       1
b       2
 
resultat    a: 15/14/12
            b: 10/6/2
 
et voila
 
lachez vous je prends tout

Reply

Marsh Posté le 20-04-2001 à 18:28:18   

Reply

Marsh Posté le 20-04-2001 à 20:04:49    

alors personne

Reply

Marsh Posté le 22-04-2001 à 21:23:22    

up

Reply

Marsh Posté le 22-04-2001 à 22:55:28    

select top 3 [Prix]  
from [MaTable]
where [Produit]='a'
order by [Prix] desc

Reply

Marsh Posté le 23-04-2001 à 09:44:07    

hihihi... ca ressemble a mon pb.. que jai fais chier tout le forum avec :)...


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Marsh Posté le 23-04-2001 à 09:52:38    

moi jsuis passé par des alias de partout... et un union...
Ma requete est tellement longue que la donner ne servirai a rien :D
 
Mais essai avec des having.. je me demande si ca marche :)
en gros ca ressemblerai a ca:
 
SELECT p.id, max(pri1.val), max(pri2.val), max(pri3.val)
FROM produit p, prix pri1, prix pri2, prix pri3
WHERE p.pri_id=pri1.id AND p.pri_id=pri2.id AND p.pri_id=pri3.id
GROUP BY p.id
HAVING max(pri1.val)>max(pri2.val)
AND max(pri2.val)>max(pri3.val)
 
 
J'suis pas top en sql alors... compte pas trop dessus mais c juste une idee :)

 

[edit]--Message édité par wouatouwouatou--[/edit]


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
Reply

Marsh Posté le 23-04-2001 à 10:22:33    

Utilise un curseur.
 
Si c'est du T-SQL, je peux te pondre le script, merdi de le préciser...

Reply

Marsh Posté le 23-04-2001 à 19:24:21    

je suis malheureusement obliger de developper ca sous Access donc le SQL de Access

Reply

Marsh Posté le 23-04-2001 à 19:25:58    

c'est quoi un curseur

Reply

Marsh Posté le 23-04-2001 à 19:27:51    

tu le fait en vb alors :)

Reply

Marsh Posté le 23-04-2001 à 19:27:51   

Reply

Marsh Posté le 24-04-2001 à 07:26:20    

je connais pas VB pourriez vous me donner une piste

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed