¿Cómo se va a reunir información de una columna en una base de datos SQL (celda específica) que tiene valores dobles o triples?

¿Cómo se va a reunir información de una columna en una base de datos SQL (celda específica) que tiene valores dobles o triples almacenados en ella, como:

row_number column1 1 A, B 2 B, D * Nota: la tabla anterior no es verdadera, solo un ejemplo

y colocarlo en una columna con el atributo “AS” según un rango en otra columna después de dividir la columna1?

La situación que tengo es la siguiente:

Puedo dividir y hacer lo anterior con declaraciones de casos, pero solo puedo obtener el valor “B” después de dividirlo y colocarlo en la columna AS Score de acuerdo con el rango de columna llamado ElIndex. Código de la siguiente manera:

SQLStr1 = "DECLARE @ScoreA VARCHAR(100), @ScoreB VARCHAR(100), @ScoreC VARCHAR (100), @ScoreD VARCHAR (100), @ScoreE VARCHAR (100), @ScoreF VARCHAR (100), @ScoreG VARCHAR (100) SET @ScoreA = 1 SET @ScoreB = 2 SET @ScoreC = 3 SET @ScoreD = 4 SET @ScoreE = 5 SET @ScoreF = 6 SET @ScoreG = 7" SQLStr1 = SQLStr1 & " SELECT DISTINCT cs.ModuleName, cs.ScreenName, se.AnswerScore, cs.CourseName, tf.FileText, tf.VoiceFile, se.ElIndex" if rsUserModules1("LinkType") = "Submit Answer Multi" then readyList = Split(rsUserModules1("LinkAction"),",") For i = 0 TO UBound(readyList) -1 if readyList(i) = "A" then SQLStr1 = SQLStr1 & " ,(CASE WHEN se.LinkAction = 'A' THEN @ScoreA " SQLStr1 = SQLStr1 & " WHEN @ScoreA = RANK()OVER(ORDER BY se.ElIndex) THEN '-1' ELSE '0' END) AS Score" end if if readyList(i) = "B" then SQLStr1 = SQLStr1 & " ,(CASE WHEN se.LinkAction = 'B' THEN @ScoreB" SQLStr1 = SQLStr1 & " WHEN @ScoreB = RANK()OVER(ORDER BY se.ElIndex) THEN '-1' ELSE '0' END) AS Score" end if if readyList(i) = "C" then SQLStr1 = SQLStr1 & " ,(CASE WHEN se.LinkAction = 'C' THEN @ScoreC" SQLStr1 = SQLStr1 & " WHEN @ScoreC = RANK()OVER(ORDER BY se.ElIndex) THEN '-1' ELSE '0' END) AS Score" end if if readyList(i) = "D" then SQLStr1 = SQLStr1 & " ,(CASE WHEN se.LinkAction = 'D' THEN @ScoreD" SQLStr1 = SQLStr1 & " WHEN @ScoreD = RANK()OVER(ORDER BY se.ElIndex) THEN '-1' ELSE '0' END) AS Score" end if if readyList(i) = "E" then SQLStr1 = SQLStr1 & " ,(CASE WHEN se.LinkAction = 'E' THEN @ScoreE" SQLStr1 = SQLStr1 & " WHEN @ScoreE = RANK()OVER(ORDER BY se.ElIndex) THEN '-1' ELSE '0' END) AS Score" end if next end if SQLStr1 = SQLStr1 & " FROM GroupScreens cs WITH (NOLOCK)" SQLStr1 = SQLStr1 & " INNER JOIN TextFiles tf WITH (NOLOCK)" SQLStr1 = SQLStr1 & " ON cs.ScreenName = tf.ScreenName" SQLStr1 = SQLStr1 & " INNER JOIN Screens s WITH (NOLOCK)" SQLStr1 = SQLStr1 & " ON s.ScreenName = tf.ScreenName" SQLStr1 = SQLStr1 & " INNER JOIN ScreenElements se WITH (NOLOCK)" SQLStr1 = SQLStr1 & " ON se.CourseName = cs.CourseName AND tf.SEUID = se.UID" SQLStr1 = SQLStr1 & " WHERE tf.CourseName= '" & Name1 & "' AND cs.ModuleName= '" & Name & "' AND (s.ScreenType = 'A' AND ( [FileText] NOT LIKE '%?%' AND [FileText] NOT LIKE '%...%' AND [FileText] NOT LIKE '%True or False%' AND [FileText] NOT LIKE '%Name%' AND [FileText] NOT LIKE '%There may be%' AND [FileText] NOT LIKE '%Select%' AND [FileText] NOT LIKE '%[(]%' AND [FileText] NOT LIKE ''))AND cs.ScreenName ='" & ScreenName1 & "'" SQLStr1 = SQLStr1 & " ORDER BY se.ElIndex" 

El problema que estoy teniendo está en la imagen a continuación: El problema que estoy teniendo