Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 17/02/2011, 10h03   #1
Invité de passage
 
Fadil
Inscription : février 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Fadil

Informations forums :
Inscription : février 2011
Messages : 2
Points : 0
Points : 0
Par défaut Probleme avek my CASE WHEN

Slt à tous!!
il se trouve que je 1CASE when à l'intérieur du quel j'utilise un IF!!
c'est un truk du genre:

Code :
1
2
3
4
5
6
7
8
9
10
11
SET @MontantCar = (CASE @I
        when 3 then
        Begin
			IF CONDITION 1
			Begin
				IF CONDITION 2
                                         @MontantCar =@ChMsg01
                                Else
                                         @MontantCar =@ChMsg02 + ' ' + @MontantCar
                       End
        End
Or SQL-Server 2005 trouve une erreur au nivo du BEGIN just afta le THEN!
Pouvez-vous m'aidé a trouvé 1moyen d'imbriké les IF ds les clauses THEN?

Orkido
Orkido est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 17/02/2011, 10h44   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 950
Points : 17 769
Points : 17 769
Vous ne pouvez pas mélanger l'opérateur CASE avec d'autres constructions.

Voici une façon de faire :
Code :
1
2
3
4
5
6
SET @MontantCar = CASE @I
                     when 3 then
                          CASE WHEN CONDITION 1 THEN ...
                               WHEN CONDITION 2 THEN ...
                          END
                  END
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/02/2011, 17h13   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 2
Points : 1
Points : 1
Bonjour
Je crois que cette approche peut vous donner une piste :

Code :
1
2
3
4
5
6
7
 
SET @MontantCar = 
	case
                when @I = 3 AND CONDITION 1 AND CONDITION 2 then @MontantCar = @ChMsg01
		when @I = 3 AND CONDITION 1 then @ChMsg02 + ' ' + @MontantCar
 
	end
LeDeveloppeur_QC est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h09.


 
 
 
 
Partenaires

Hébergement Web