2017-12-06 6 views

Antwort

1

Versuchen Sie, diese

DECLARE @T TABLE 
(
    Col1 VARCHAR(10), 
    Col2 VARCHAR(100) 
) 

INSERT INTO @T 
VALUES('AAA','BB1,KB2,YB3,BP4') 

;WITH CTE 
AS 
(
    SELECT 
    Col1, 
    Col2_1 = SUBSTRING(Col2,CHARINDEX(',',Col2)+1,LEN(Col2)), 
    Col2 = SUBSTRING(Col2,1,CHARINDEX(',',Col2)-1) 
    FROM @T 

    UNION ALL 

    SELECT 
     Col1, 
     Col2_1 = 
       CASE WHEN CHARINDEX(',',Col2_1) > 0 
          THEN SUBSTRING(Col2_1,CHARINDEX(',',Col2_1)+1,LEN(Col2_1)) 
         ELSE NULL END, 
     Col2 = CASE WHEN CHARINDEX(',',Col2_1) > 0 
          THEN SUBSTRING(Col2_1,1,CHARINDEX(',',Col2_1)-1) 
         ELSE Col2_1 END 
     FROM CTE 
      WHERE ISNULL(Col2_1,'')<>'' 

) 
SELECT 
Col1, 
Col2 
FROM CTE 
+0

Funktioniert wie ein Zauber - Vielen Dank –

Verwandte Themen