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 :
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
Je n'arrive pas à syntaxer correctement le 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
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.
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.