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

Développement SQL Server Discussion :

Pivoter une date sur une nouvelle colonne [2014]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 126
    Par défaut Pivoter une date sur une nouvelle colonne
    Bonjour,



    j'ai une table me donnant des données comme ca:

    ColA ColB colC Montant DateFrom

    AAA BBB CCC 1234 2015-01-01

    AAA BBB CCC 1278 2016-01-01

    DDD EEE FFF 7654 2015-01-01

    HHH III JJJ 2861 2014-01-01

    AAA BBB CCC 647 2014-01-01

    DDD EEE FFF 2931 2015-09-01



    J'aurais besoin d'avoir un résultat me donnant :

    ColA ColB colC Montant DateFrom DateTo

    AAA BBB CCC 1278 2014-01-01 2015-01-01

    AAA BBB CCC 1234 2015-01-01 2016-01-01

    AAA BBB CCC 647 2016-01-01 NULL

    HHH III JJJ 2861 2014-01-01 NULL

    DDD EEE FFF 7654 2015-01-01 2015-09-01

    DDD EEE FFF 2931 2015-09-01 NULL



    Le but étant de donner une valeur de temps 'To' avec la prochaine date utilisable, et de mettre NULL si pas de données.

    Y aurait-il un moyen simple de faire ca ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 636
    Billets dans le blog
    10
    Par défaut
    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
     
    SELECT (DISTINCT) 
            t0.ColA, 
            t0.ColB, 
            t0.colC, 
            t0.Montant, 
            t0.DateFrom,          
            t1.DateFrom
    FROM matable AS T0                                                 
    LEFT OUTER JOIN                                                      
         matable AS T1                                                 
      ON T1.Col1=T0.Col1
     AND T1.Col2=T0.Col2
     AND T1.Col3=T0.Col3 
     AND T1.DateFrom>T0.DateFrom                                            
    (WHERE ... vos critères de filtrage)                                            
    ORDER BY T0.ColA, t0.ColB, t0.colC, t0.DateFrom

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 126
    Par défaut
    Merci bien
    c'était pas bien méchant pourtant, je me suis compliqué pour rien.

    merci encore en tout cas.
    Bonne continuation

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

Discussions similaires

  1. [AC-2007] Comparer une date d'une table et une date saisie
    Par minooo dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/03/2019, 21h40
  2. [RegEx] est-il possible d'extraire une date sur une page distante ?
    Par mitmit dans le forum Langage
    Réponses: 1
    Dernier message: 26/04/2007, 11h35
  3. Problème de lenteur due à une selection sur une date [CR 8.5]
    Par Fredifredo dans le forum SAP Crystal Reports
    Réponses: 15
    Dernier message: 13/02/2007, 17h10
  4. comment faire une verification sur une date
    Par alexF dans le forum Delphi
    Réponses: 11
    Dernier message: 10/01/2007, 15h12
  5. [SQL] Conditions sur une date dans une requete
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2004, 14h25

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