Comparaison de deux lignes en SQL

Fermé
jlmen - 27 mai 2010 à 14:29
 fiu - 27 mai 2010 à 19:59
Bonjour,

Je dois réaliser la manipulation suivante en SQL et je ne sais pas comment la faire. J'ai une table du type :

date identifiant taux

jan2010 contrat1 5%
fév2010 contrat1 5%
ma2010 contrat1 5%
jan2010 contrat2 4.50%
fév2010 contrat2 4.50%
ma2010 contrat2 3.75%

Je dois comparer les éventuelles variations du taux pour chaque contrat dans le temps. Ainsi, pour le contrat2 je veux faire ressortir que le taux a changé en mars 2010. Comment faire pour comparer des lignes en SQL ?

Merci d'avance pour vos réponses.

1 réponse

Salut,

En fait, ce genre de comparaison se fait en combinant la table avec elle-même : je prends ma liste d'historique des taux par contrat et je lui juxtapose ma liste d'historique des taux par contrat et j'essaie de ne comparer des taux entre eux que lorsqu'il s'agit d'un même contrat et de 2 périodes qui se suivent.

Si dans ta base tu peux facilement comparer deux dates, tu peux alors essayer
select t1.identifiant, t1.date, t2.date, t1.taux, t2.taux
from historique_taux_contrat t1, historique_taux_contrat t2
where t1.identifiant = t2.identifiant
and t1.date = t2.date moins un mois -- ta comparaison de 2 dates
and t1.taux <> t2.taux
order by 1, 2
2