Comparaison de deux lignes en SQL

jlmen -  
 fiu -
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

  1. fiu
     
    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