IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Requête SQL complexe


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 32
    Par défaut Requête SQL complexe
    Bonsoir todo el mundo!

    J'ai un gros problème de requête SQL.
    La structure d'une de mes tables est en gros la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    personne_id ; annee ; classement
    son nom est 'rfm'

    Je voudrais pouvoir extraire de cette table les personnes qui d'une année à l'autre ont une valeur de 'classement' qui diminue ou qui augmente.

    avec quelque chose dans ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT personne_id FROM rfm
    WHERE classement_1<classement_2
    IN(
    SELECT classement AS classement_1
    WHERE annee='2007'
    )
    mais même si cela marchait il manquerait un bout pour avoir classement_2...
    je ne suis absolument pas pro dans ce genre de requête, ... si vous aviez une petite idée, même une toute petite, je vous prie de bien vouloir m'en faire part!!

    Merci, et bonne soirée!

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Pour chaque personne, le classement pour l'année et pour l'année précédente connue, en se limitant aux variations d'une année connue à la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SELECT  c1.personne_id
        ,   c1.annee
        ,   c1.classement   
        ,   c2.annee AS annee_anterieure
        ,   c2.classement   AS classement_antérieur
    FROM    rfm AS c1
        INNER JOIN
            rfm AS c2
            ON  c1.personne_id  = c2.personne_id
    WHERE   EXISTS
            (   SELECT  1
                FROM    rfm AS an
                WHERE   c1.personne_id  = an.personne_id
                    AND c1.annee    > an.annee
                HAVING  c2.annee    = MAX(an.annee) 
            )
        AND c1.classement   <> c2.classement
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 32
    Par défaut Absolument fantastique!
    Merci ça marche très bien, je l'ai adapté à mon cas et c'est parfait!!
    Je ne pensais pas que c'était possible!

    Encore merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. requête sql complexe
    Par julien_d dans le forum SQL
    Réponses: 7
    Dernier message: 01/05/2007, 17h03
  2. Requète SQL complexe
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/08/2006, 10h10
  3. Requête sql complexe
    Par new_wave dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/01/2006, 11h55
  4. Requête SQL Complexe
    Par zut94 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/11/2005, 20h53
  5. Requête SQL complexe. Comment faire ....
    Par BilTCD dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/11/2004, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo