[Newbie] - Equivalent Requete MSSQL pour mySQL
ALut, help please....
0/ MySQL 5.1.30-community via TCP/IP
1/ Je crée une vue sur +eures tables (ok no problemo), mais
je ne trouve pas l'équivalent pour MySQL de (c'est un exemple) :
Code:
1 2 3 4 5
| 'IMG_AFFICHE'=Case
WHEN IMG1 IS NOT NULL THEN IMG1
WHEN IMG2 IS NOT NULL THEN IMG2
ELSE 'IMG_DEFAULT.gif'
END |
Cela existe t il sous SQL pour MySQL ?
Si oui, quelle est la bonne syntaxe
Merci de votre aide
Samish
http://dev.mysql.com/doc/refman/5.0/fr/control-flow-functions.
Saluton,
Extrait de la doc :
http://dev.mysql.com/doc/refman/5.0/...functions.html
Citation:
*
CASE valeur WHEN [compare-value] THEN résultat [WHEN [compare-value] THEN résultat ...] [ELSE résultat] END, CASE WHEN [condition] THEN résultat [WHEN [condition] THEN résultat ...] [ELSE résultat] END
La première version retourne résultat si valeur=compare-value. La seconde version retourne le résultat de la première condition qui se réalise. Si aucune des conditions n'est réalisé, alors le résultat de la clause ELSE est retourné. Si il n'y a pas de clause ELSE alors NULL est retourné :
mysql> SELECT CASE 1 WHEN 1 THEN "un"
WHEN 2 THEN "deux" ELSE "plus" END;
-> "un"
mysql> SELECT CASE WHEN 1>0 THEN "vrai" ELSE "faux" END;
-> "vrai"
mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;
-> NULL
Le type de la valeur retournée (INTEGER, DOUBLE ou STRING) est de même type que la première valeur retournée (l'expression après le premier THEN).