Bonjour à tous
J'ai une requête assez compliqué à faire, ca fait 2 jours que j'y suis dessus et je commence à perdre patience donc je viens demander de l'aide
Je schématise car j'ai des tables avec des 40aines de champ !
Table T1:
Table T2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ID_T1 | Nom ------|------ 1 | Pomme 2 | Poire
Voilà c'est très schématisé, mon problème : (enfin j'espère que ca ne vient que de là ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ID_T2 | T1 | Debut | Fin ------|----|------------|---------- 1 | 1 | 2005/01/10 | 2005/02/20 2 | 1 | 2005/02/23 | 2005/03/10 3 | 1 | 2005/03/13 | 2005/04/10
Je fais une opération dans mon SELECT sur la date la plus récente qui se trouve dans T2 pour la Pomme comme ca (j'ajoute 2 jours à la date Debut et je vérifie qu'elle est plus petite ou égale à la date du jour) :En fait, je voudrais effectuer seulement cette opération sur la date la plus récente, les autres dates, c'est juste de l'historique car évidemment les autres dates moins récentes sont affichées dans ma requête vu qu'elles vérifient la condition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part CONVERT(varchar, DATEADD(d, 4, CONVERT(datetime, T2.Debut, 121)), 111) <= CONVERT(varchar, GETDATE(), 111)
Si j'utilise TOP 1 (pour SQL Server), ca va me donner seulement 1 seul résultat mais moi je voudrais 1 seul résultat pour la Pomme car j'ai bcp de noms dans T1.
C'est vraiment pas facile à expliquer, si vous ne comprenez pas, dites le
Merci de votre aide
Partager