Partage
  • Partager sur Facebook
  • Partager sur Twitter

Selectionner les dates entre deux dates d'une autre table

Sujet résolu
    23 juin 2011 à 14:52:30

    Bonjour,

    Je souhaiterais sélectionner tout les champs dateT1 et Valeur d'une table T1 où dateT1 est compris entre tout dateT2_debut et dateT2_fin d'une table T2.

    T1
    dateT1     |      Valeur

    Type
    dateT1 : DATETIME
    Valeur : INT

    T2
    dateT2_debut     |     dateT2_fin

    Type
    dateT2_debut : DATETIME
    dateT2_fin : DATETIME


    Est-ce possible ? J'ai beaucoup de mal dans la construction de ma requête.


    Merci de votre aide !


    edit :
    Je suis sur d'être proche de la solution mais ce n'est toujours pas bon, j'ai quelque chose qui ressemble à ceci :
    SELECT T1.dateT1, T1.Valeur FROM T1 
    INNER JOIN
    (SELECT * FROM T2) AS tmp
    ON T1.dateT1 >= tmp.dateT2_debut AND dateT1 <= tmp.dateT2_fin;
    -- ON T1.dateT1 BETWEEN tmp.dateT2_debut AND tmp.dateT2_fin;
    
    • Partager sur Facebook
    • Partager sur Twitter
      23 juin 2011 à 15:32:43

      select t2.dateT2_debut, t2.dateT2_fin, t1.dateT1, T1.Valeur
      from   t2
             inner join t1
               on  t1.dateT1 >= t2.dateT2_debut
               and t1.dateT1 <= t2.dateT2_fin
      

      ?

      Revois le nommage de tes colonnes si tu peux.
      Tracker.
      • Partager sur Facebook
      • Partager sur Twitter
        23 juin 2011 à 15:47:26

        Merci Tracker,

        Les deux solutions fonctionnent et ta requête est plus optimisée que la mienne.

        Ma table T1 ne contenait pas les bonnes dates qui devaient coïncider avec les dates dans T2 en faite.

        Je te remercie !
        • Partager sur Facebook
        • Partager sur Twitter

        Selectionner les dates entre deux dates d'une autre table

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown