Amélioration du code

Fermé
mat297 Messages postés 19 Date d'inscription dimanche 25 décembre 2016 Statut Membre Dernière intervention 27 décembre 2016 - 27 déc. 2016 à 09:31
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 27 déc. 2016 à 23:02
Bonjour,



J'ai un code pas très difficile sur SQL server que je souhaiterais rendre dynamique pour prendre tout les cas possible, avez vous des idées ? merci

------------------------------------------------------------------------------------
Select

(case When tps_tr < 8 Select (date + 1)
When tps_tr between 8 and 16 select ((date + 1)+1)
When tps_tr between 16 and 24 select ((date + 1)+2)
When tps_tr between 24 and 32 select ((date + 1)+3)
When tps_tr between 32 and 40 select ((date + 1)+4)
When tps_tr between 40 and 48 select ((date + 1)+5)
When tps_tr between 48 and 56 select ((date + 1)+6)
When tps_tr between 56 and 64 select ((date + 1)+7)
.
.
.
.
.
Else "".

End ) as temps_op

From tableY
--------------------------------------------------------------------------------------

NB: en gros dès que je rajoute 8 à tps_tr, je rajoutte 1 à la date.
Evidemment j'ai essayé directement de faire des divisions du tps_tr dans le select mais ca ne fonctionne pas pour cause d'incompatibilité des données.
J'aimerais donc de manière infinie prendre toutes les possibilités meme pour un tps_tr > 4000
merci beaucoup pour votre aide
A voir également:

1 réponse

yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 Ambassadeur 1 554
27 déc. 2016 à 23:02
Peut-être ceci?
Select 
 date+1+round(tps/8,0,1)
 as temps_op 
From tableY
0