Amélioration du code
mat297
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Amélioration du code
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Peut-être ceci?
Select date+1+round(tps/8,0,1) as temps_op From tableY