case Type
when Mode =3D 4 then=20
(case Type
when 0 then 'LCR =E0 soumettre =E0 acceptation'
when 1 then 'Billet =E0 Ordre =E0 recevoir'
when 2 then 'LCR non accept=E9e'
when 3 then 'LCR accept=E9e'
else 'Billet =E0 ordre re=E7u'
end)
else 'AAA' end
J'ai une erreur de syntaxe au niveau du '=3D'.
Si je tape une valeur =E0 la place de 'Mode =3D 4' je passe au=20
niveau de la syntaxe mais les r=E9sultats sont tous =E0 'AAA'.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
De mémoire, la syntaxe est soit :
CASE Champ WHEN Valeur1 THEN Résulttat1 etc... CASE WHEN Condition1 THEN Résultat1 etc...
Le CASE Type WHEN Mode=4 combine les deux formes d'où je pense l'erreur. Quand tu mets une valeur à la place de Mode=4, il me semble que tu testes le type au lieu du mode. Essaie donc plutôt : CASE Mode WHEN 4 THEN CASE Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end else 'AAA' end
Enfin, dans ce cas précis, il me semble s'agir d'une simulation de jointure avec une table de libellés. J'aurais donc plutôt tendance à créer cette table si c'est bien le cas et faire une jointure....
"OokieDookie" a écrit dans le message de news:4c2a01c42c35$b56bb480$ Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir résoudre par des case en cascade, mais visiblement quelque chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes significations:
case Type when Mode = 4 then (case Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end) else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='. Si je tape une valeur à la place de 'Mode = 4' je passe au niveau de la syntaxe mais les résultats sont tous à 'AAA'.
Quelqu'un peut-il m'orienter ?
Merci.
De mémoire, la syntaxe est soit :
CASE Champ WHEN Valeur1 THEN Résulttat1 etc...
CASE WHEN Condition1 THEN Résultat1 etc...
Le CASE Type WHEN Mode=4 combine les deux formes d'où je pense l'erreur.
Quand tu mets une valeur à la place de Mode=4, il me semble que tu testes le
type au lieu du mode. Essaie donc plutôt :
CASE Mode
WHEN 4 THEN
CASE Type
when 0 then 'LCR à soumettre à acceptation'
when 1 then 'Billet à Ordre à recevoir'
when 2 then 'LCR non acceptée'
when 3 then 'LCR acceptée'
else 'Billet à ordre reçu'
end
else 'AAA'
end
Enfin, dans ce cas précis, il me semble s'agir d'une simulation de jointure
avec une table de libellés. J'aurais donc plutôt tendance à créer cette
table si c'est bien le cas et faire une jointure....
"OokieDookie" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:4c2a01c42c35$b56bb480$a001280a@phx.gbl...
Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir
résoudre par des case en cascade, mais visiblement quelque
chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes
significations:
case Type
when Mode = 4 then
(case Type
when 0 then 'LCR à soumettre à acceptation'
when 1 then 'Billet à Ordre à recevoir'
when 2 then 'LCR non acceptée'
when 3 then 'LCR acceptée'
else 'Billet à ordre reçu'
end)
else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='.
Si je tape une valeur à la place de 'Mode = 4' je passe au
niveau de la syntaxe mais les résultats sont tous à 'AAA'.
CASE Champ WHEN Valeur1 THEN Résulttat1 etc... CASE WHEN Condition1 THEN Résultat1 etc...
Le CASE Type WHEN Mode=4 combine les deux formes d'où je pense l'erreur. Quand tu mets une valeur à la place de Mode=4, il me semble que tu testes le type au lieu du mode. Essaie donc plutôt : CASE Mode WHEN 4 THEN CASE Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end else 'AAA' end
Enfin, dans ce cas précis, il me semble s'agir d'une simulation de jointure avec une table de libellés. J'aurais donc plutôt tendance à créer cette table si c'est bien le cas et faire une jointure....
"OokieDookie" a écrit dans le message de news:4c2a01c42c35$b56bb480$ Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir résoudre par des case en cascade, mais visiblement quelque chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes significations:
case Type when Mode = 4 then (case Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end) else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='. Si je tape une valeur à la place de 'Mode = 4' je passe au niveau de la syntaxe mais les résultats sont tous à 'AAA'.
Quelqu'un peut-il m'orienter ?
Merci.
Merci pour ta réponse ;)
Je vais regarder cette histoire de jointure. Merci encore.
-----Message d'origine----- De mémoire, la syntaxe est soit :
CASE Champ WHEN Valeur1 THEN Résulttat1 etc... CASE WHEN Condition1 THEN Résultat1 etc...
Le CASE Type WHEN Mode=4 combine les deux formes d'où je
pense l'erreur.
Quand tu mets une valeur à la place de Mode=4, il me
semble que tu testes le
type au lieu du mode. Essaie donc plutôt : CASE Mode WHEN 4 THEN CASE Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end else 'AAA' end
Enfin, dans ce cas précis, il me semble s'agir d'une
simulation de jointure
avec une table de libellés. J'aurais donc plutôt tendance
à créer cette
table si c'est bien le cas et faire une jointure....
"OokieDookie" a
écrit dans le message
de news:4c2a01c42c35$b56bb480$ Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir résoudre par des case en cascade, mais visiblement quelque chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes significations:
case Type when Mode = 4 then (case Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end) else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='. Si je tape une valeur à la place de 'Mode = 4' je passe au niveau de la syntaxe mais les résultats sont tous à 'AAA'.
Quelqu'un peut-il m'orienter ?
Merci.
.
Merci pour ta réponse ;)
Je vais regarder cette histoire de jointure.
Merci encore.
-----Message d'origine-----
De mémoire, la syntaxe est soit :
CASE Champ WHEN Valeur1 THEN Résulttat1 etc...
CASE WHEN Condition1 THEN Résultat1 etc...
Le CASE Type WHEN Mode=4 combine les deux formes d'où je
pense l'erreur.
Quand tu mets une valeur à la place de Mode=4, il me
semble que tu testes le
type au lieu du mode. Essaie donc plutôt :
CASE Mode
WHEN 4 THEN
CASE Type
when 0 then 'LCR à soumettre à acceptation'
when 1 then 'Billet à Ordre à recevoir'
when 2 then 'LCR non acceptée'
when 3 then 'LCR acceptée'
else 'Billet à ordre reçu'
end
else 'AAA'
end
Enfin, dans ce cas précis, il me semble s'agir d'une
simulation de jointure
avec une table de libellés. J'aurais donc plutôt tendance
à créer cette
table si c'est bien le cas et faire une jointure....
"OokieDookie" <anonymous@discussions.microsoft.com> a
écrit dans le message
de news:4c2a01c42c35$b56bb480$a001280a@phx.gbl...
Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir
résoudre par des case en cascade, mais visiblement quelque
chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes
significations:
case Type
when Mode = 4 then
(case Type
when 0 then 'LCR à soumettre à acceptation'
when 1 then 'Billet à Ordre à recevoir'
when 2 then 'LCR non acceptée'
when 3 then 'LCR acceptée'
else 'Billet à ordre reçu'
end)
else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='.
Si je tape une valeur à la place de 'Mode = 4' je passe au
niveau de la syntaxe mais les résultats sont tous à 'AAA'.
Je vais regarder cette histoire de jointure. Merci encore.
-----Message d'origine----- De mémoire, la syntaxe est soit :
CASE Champ WHEN Valeur1 THEN Résulttat1 etc... CASE WHEN Condition1 THEN Résultat1 etc...
Le CASE Type WHEN Mode=4 combine les deux formes d'où je
pense l'erreur.
Quand tu mets une valeur à la place de Mode=4, il me
semble que tu testes le
type au lieu du mode. Essaie donc plutôt : CASE Mode WHEN 4 THEN CASE Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end else 'AAA' end
Enfin, dans ce cas précis, il me semble s'agir d'une
simulation de jointure
avec une table de libellés. J'aurais donc plutôt tendance
à créer cette
table si c'est bien le cas et faire une jointure....
"OokieDookie" a
écrit dans le message
de news:4c2a01c42c35$b56bb480$ Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir résoudre par des case en cascade, mais visiblement quelque chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes significations:
case Type when Mode = 4 then (case Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end) else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='. Si je tape une valeur à la place de 'Mode = 4' je passe au niveau de la syntaxe mais les résultats sont tous à 'AAA'.
Quelqu'un peut-il m'orienter ?
Merci.
.
Fred BROUARD
plus simple : CASE WHEN Mode = 4 AND Type = 0 THEN 'LIB1' WHEN Mode = 4 AND Type = 1 THEN 'LIB2' WHEN Mode = 2 AND Type = 0 THEN 'LIBA' WHEN Mode = 2 AND Type = 1 THEN 'LIBB' END as Libelle
PS : évite les accents et autres caractères diacritiques dans les noms d'objet comme "libellé"
A lire sur le CASE : http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_case
A +
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
OokieDookie a écrit:
Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir résoudre par des case en cascade, mais visiblement quelque chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes significations:
case Type when Mode = 4 then (case Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end) else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='. Si je tape une valeur à la place de 'Mode = 4' je passe au niveau de la syntaxe mais les résultats sont tous à 'AAA'.
Quelqu'un peut-il m'orienter ?
Merci.
plus simple :
CASE
WHEN Mode = 4 AND Type = 0 THEN 'LIB1'
WHEN Mode = 4 AND Type = 1 THEN 'LIB2'
WHEN Mode = 2 AND Type = 0 THEN 'LIBA'
WHEN Mode = 2 AND Type = 1 THEN 'LIBB'
END as Libelle
PS : évite les accents et autres caractères diacritiques dans les noms
d'objet comme "libellé"
A lire sur le CASE :
http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_case
A +
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
OokieDookie a écrit:
Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir
résoudre par des case en cascade, mais visiblement quelque
chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes
significations:
case Type
when Mode = 4 then
(case Type
when 0 then 'LCR à soumettre à acceptation'
when 1 then 'Billet à Ordre à recevoir'
when 2 then 'LCR non acceptée'
when 3 then 'LCR acceptée'
else 'Billet à ordre reçu'
end)
else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='.
Si je tape une valeur à la place de 'Mode = 4' je passe au
niveau de la syntaxe mais les résultats sont tous à 'AAA'.
plus simple : CASE WHEN Mode = 4 AND Type = 0 THEN 'LIB1' WHEN Mode = 4 AND Type = 1 THEN 'LIB2' WHEN Mode = 2 AND Type = 0 THEN 'LIBA' WHEN Mode = 2 AND Type = 1 THEN 'LIBB' END as Libelle
PS : évite les accents et autres caractères diacritiques dans les noms d'objet comme "libellé"
A lire sur le CASE : http://sqlpro.developpez.com/SQL_AZ_2.html#SELECT_case
A +
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
OokieDookie a écrit:
Bonjour le groupe,
Je me casse la tête sur un test que je pensais pouvoir résoudre par des case en cascade, mais visiblement quelque chose ne va pas.
Soient 2 colonnes Mode et Type (int)
En fonction du Mode, les valeurs de Type ont différentes significations:
case Type when Mode = 4 then (case Type when 0 then 'LCR à soumettre à acceptation' when 1 then 'Billet à Ordre à recevoir' when 2 then 'LCR non acceptée' when 3 then 'LCR acceptée' else 'Billet à ordre reçu' end) else 'AAA' end
J'ai une erreur de syntaxe au niveau du '='. Si je tape une valeur à la place de 'Mode = 4' je passe au niveau de la syntaxe mais les résultats sont tous à 'AAA'.