Bonjour,
Je débute en SQL, je vous remercie par avance pour votre aide.
J'ai des noms de commerciaux [REPNUM_0] qui sont
ANMA
AB-E
SMA-S
FSA
etc.
Je souhaite une colonne où j'ai l'identité du commercial, qui est soit la chaîne de caractère avant le "-", soit la chaîne de caractère complète s'il n'y a pas le tiret.
Dans mon exemple :
ANMA
AB
SMA
FSA
Si l'option avant le tiret fonctionne :
Je n'arrive pas à syntaxer correctement le CASE WHEN :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT [REPNUM_0], REPLACE(SUBSTRING([SALESREP].[REPNUM_0], 1,CHARINDEX('-',REPNUM_0)),'-','') as REPNUM2_0 FROM [cfiprod].[CFIPRD].SALESREP
J'ai été aidée par un consultant sur le premier bout de code, et j'aimerais garder le même principe avec un CASE WHEN.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT [REPNUM_0] ,CASE WHEN CHARINDEX('-', REPNUM_0) > 0 THEN REPLACE(SUBSTRING([SALESREP].[REPNUM_0], 1, CHARINDEX('-', REPNUM_0)), '-', '') AS REPNUM2_0 ELSE [SALESREP].[REPNUM_0] = REPNUM2_0 END
Même si c'est important pour moi que ça fonctionne, il m'est plus important de comprendre où est mon erreur.
Je vous remercie par avance pour votre aide.
Partager