Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 15h49   #1
Invité de passage
 
Nassim
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Nassim

Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Par défaut Fonctions SQL MSSQL

Salut à tous,

Je travaille sur un ETL où il fait faire des formules SQL suivant MSSQL.

Je n'arrive pas à interpréter ce qui suit en formules SQL:
J'ai un champ Durée (qui varie de 1 à 360), un autre champs montant.
L'objectif est dire à chaque plage (1 à 60) qu'il me remonte la valeur coreespodante, 60 à 120 ....etc.

En Gros : If durée between 0 and 60
then Montant
Else Null

Je suis preneur de toute documentation qui parle des formules SQL (pas de requetes) Merci d'avance à tous.
dmontana est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/12/2011, 16h01   #2
Nouveau Membre du Club
 
Homme
IED décisionnel
Inscription : mai 2011
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : IED décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2011
Messages : 33
Points : 27
Points : 27
Salut,

si j'ai bien compris tu veux :

Code :
1
2
3
4
5
 
SELECT 
CASE WHEN DUREE >=0 AND DUREE < 60 THEN ton_MONTANT else CASE WHEN DUREE >=60 AND DUREE < 120 THEN tonMontant2 else ... END END
 
FROM TATABLE
Etienne5685 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h07   #3
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 686
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 686
Points : 10 435
Points : 10 435
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Pas besoin d'imbriquer des cases, un seul suffit :
Code :
1
2
3
4
5
6
7
SELECT CASE
         WHEN DUREE BETWEEN   0 AND  59 THEN MONTANT1
         WHEN DUREE BETWEEN  60 AND 119 THEN MONTANT2
         WHEN DUREE BETWEEN 120 AND 179 THEN MONTANT3
         ...
       END
  FROM TATABLE
Citation:
Envoyé par dmontana Voir le message
Je suis preneur de toute documentation qui parle des formules SQL (pas de requetes) Merci d'avance à tous.
Avez-vous essayé la documentation Microsoft ?
http://msdn.microsoft.com/fr-fr/library/ms174318.aspx
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 10h39   #4
Invité de passage
 
Nassim
Inscription : février 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Nassim

Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par Waldar Voir le message
Pas besoin d'imbriquer des cases, un seul suffit :
Code :
1
2
3
4
5
6
7
SELECT CASE
         WHEN DUREE BETWEEN   0 AND  59 THEN MONTANT1
         WHEN DUREE BETWEEN  60 AND 119 THEN MONTANT2
         WHEN DUREE BETWEEN 120 AND 179 THEN MONTANT3
         ...
       END
  FROM TATABLE

Avez-vous essayé la documentation Microsoft ?
http://msdn.microsoft.com/fr-fr/library/ms174318.aspx
merci
dmontana est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h38.


 
 
 
 
Partenaires

Hébergement Web