begin process at 2012 05 26 17:22:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Instruction CASE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Instruction CASE

jeudi 26 juin 2008 à 10:02:37 | Instruction CASE

casy

Membre Club
Salut à tous,

J'ai une question probablement un peu con, mais bon; Je dois mettre en production dans peu de temps et je n'ai pas la base production pour faire les essais, je fais donc appel à vos connaissance.

Dans le cadre de la création d'une vue (SQLServer2005) si j'ai une requette du style :

SELECT
    .....,
    CASE
       WHEN Champ1 = valeur1 THEN Result1
       WHEN Champ2 = valeur2 THEN Result2
       ELSE 0.00
    END,
    ......,
FROM .....


Si j'ai les 2 conditions remplies, c'est à dire, à la fois Champ1=valeur1 et Champ2=valeur2, qu'elle est la valeur qui sera retournée, Result1 ou Result2 ????


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
jeudi 26 juin 2008 à 15:26:02 | Re : Instruction CASE

nicomilville

Membre Club
Réponse acceptée !
Salut casy,

J'ai fais les tests chez moi avec mysql mais ça doit pas être super différent de SQLserver2005...

Je suis content que ce soit a mon tour de t'aider, pour te montré ma reconaissance...

Donc comme je l'ai dit plus haut, j'ai fait une requête toute simple sous mysql, je te la met :

SELECT `champs1`,`champs2`,`champs3`,`champs4`,`champs5`,`champs6`, CASE
     WHEN `champs1` = 2 THEN 'a'
     WHEN `champs2` = 3 THEN 'b'
     WHEN `champs3` = 8 THEN 'c'
END AS resultat FROM test

resultat est un champs que j'ai laissé vide...
champs1 contient 2
champs2 contient 3
champs3 contient 8
test c'est ma table

Ce que j'obtient dans mon champs text resultat c'est : a

Donc je pense que c'est la première condition vrai qui sera éxécuté !

a++

PS : merci, grace a toi je me suis plongé dans le vrai SQL, avant je faisait que des truc du genre SELECT, DELETE, UPDATE mais maintenant je vais me lancer dans les procédures stockées, les condition avec les : IF, NULIF, IFNUL, CASE, etc...

Encore merci, décidément, même quand tu as besoin d'aide tu aide les gens !

Si la réponse vous convient, pensez : Réponse acceptée !

jeudi 26 juin 2008 à 15:34:37 | Re : Instruction CASE

casy

Membre Club
Ok c'est ce que je pensais (et espérais ).

Si quelqu'un peut me confirmer sur SQL2005

sinon si je trouve 5min je me ferais le test mais c'est chaud en ce moment.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
jeudi 26 juin 2008 à 16:19:27 | Re : Instruction CASE

nicomilville

Membre Club
Je ne vois pas pourquoi ce serai différent sous SQLserver2005, au passage, il n'y a presque personne sur ce site donc je suis pas sur que tu aura ta réponse... Peut être que tu l'aura dans  2/3 mois, lol !!!

a++

Si la réponse vous convient, pensez : Réponse acceptée !

jeudi 26 juin 2008 à 16:28:18 | Re : Instruction CASE

casy

Membre Club
MDR, peut-etre oui, d'ici là ça sera déjà en prod donc les tests auront été fait d'une façon ou d'une autre.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
jeudi 26 juin 2008 à 17:05:22 | Re : Instruction CASE

casy

Membre Club
Bon, j'ai trouvé 30sec pour faire un test sur un semblant de base qui me reste dans un coin.

Le comportement semble etre le même sous SQLServer 2005


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
jeudi 26 juin 2008 à 22:23:28 | Re : Instruction CASE

nicomilville

Membre Club
Ok, je suis content d'avoir enfin pu t'aider !

Et grace a toi, je me met vraiment aux SQL, je crois qu'un réapprentissage des bases s'impose !

a++

Si la réponse vous convient, pensez : Réponse acceptée !

vendredi 27 juin 2008 à 14:09:41 | Re : Instruction CASE

crn_c21

Réponse acceptée !
Je confirme le CASE valide la première condition vérifiée. Saches que dans ces conditions l'utilisation de CASE imbriqués peut etre utile...
vendredi 27 juin 2008 à 14:21:23 | Re : Instruction CASE

casy

Membre Club
Merci pour ta confirmation.

Mon problème est que je peux me retrouver dans une situation ou plusieurs conditions sont valides en même temps avec un résultat renvoyé différent. Or dans ce cas, une des conditions est prioritaire, donc ce fonctionnement me convient parfaitement

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]


Cette discussion est classée dans : case, instruction, production, champ1, when


Répondre à ce message

Sujets en rapport avec ce message

Somme en sql [ par yaya2669 ] Bonjour,Voila la requete de baseSelect 'Montant'=Case WHEN T0.PRICE=100 then 10 else 20 end,'Montant2'=Case WHEN T0.PRICEFROM ITM1 T0Je voudrais maint Problèmes sur des Case When imbriqués [ par Orion01 ] Bonjour, J'ai un souci sur des case when que je veux imbriquer.Je suis sous SQL7 et le code suivant se trouve dans une vue. < SQL CASE WHEN [ par fafal ] Hello J'ai un problème avec cette requete...SELECT CASE Result WHEN >0 THEN 96-RESULT ELSE 96 END as testJe voudrai que QUAND RESULT est un chiffre al CASE WHEN avec opérateur IN [ par bossun ] salut j'ai un peu de peine à écrire une requete sql avec un case when dans une clause where... [size=100] SELECT max(ResultsID) FROM panoram Case dans une clause where [ par yaya2669 ] Bonjour, Je cherche a faire une requete de ce genre : ----------- Select Case when Matable1.Desc = 'Desc1' then '1' when Matable1.Desc = ' Problème incorrect syntax near '=' [ par waluigi44 ] Bonjour, je débute dans les requetes SQL. Voici mon code qui m'envoie l'erreur suivant ncorrect syntax near '=' [code=autre] UPDATE dbo.Nop_Add Champ vide [ par trecylafierte ] Bonjour Escusez moi,je n'ai nullement pour intention d'enfreindre les lois mais j'ai cherché la réponse à mon probléme mais en vain. Voilà,jai ecrit u Case or not Case [ par quinquin59 ] BOnjour, je bloque sur un truc sur une base de donnée access. voici mon probléme J'ai une table A avec les champs QuotientD ,QuotientF, Valeurs J'ai u PB d'affichage de résultat en sql server [ par sarita1987 ] Bjr a ts , j'ai un petit soucis avec l'affichage de mon résultat sur sql server express2008 voilà ma requête SELECT SUM (NB1)/258151 as S1 From (S Instruction (plsql ou sql) pour changer de connexion [ par colonelblondass ] Bonjour, Est-il possible de changer de connexion sur sql developer avec une commande (sql ou pl sql) ? J'ai 2 connexions possibles. Je dois faire u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales