declare @test varchar(100);set @test = '''jack'',''25,A67,91J''';WITH CTE AS(SELECT * FROM dbo.DelimitedSplit8K(@test, ','))SELECT UserName = CTE1.Item, SaleNumber = Replace(CHAR(39) + CTE2.Item + CHAR(39), CHAR(39)+CHAR(39), CHAR(39)) FROM CTE CTE1 CROSS JOIN (SELECT Item FROM CTE WHERE ItemNumber > 1) CTE2 WHERE CTE1.ItemNumber = 1;
DECLARE @test TABLE (id INT, val VARCHAR(100));INSERT INTO @testSELECT 1,'jack,25,A67,91J,67,99' UNION ALLSELECT 2,'jill,5,8,V3' UNION ALLSELECT 3,'john,7,D4' UNION ALLSELECT 4,'bill,66,84';WITH CTE AS(SELECT * FROM @test CROSS APPLY (SELECT * FROM dbo.DelimitedSplit8K(val, ',')) x)SELECT UserName = CTE1.Item, SaleNumber = REPLACE(CHAR(39) + CTE2.Item + CHAR(39), CHAR(39)+CHAR(39), CHAR(39)) FROM CTE CTE1 INNER JOIN (SELECT Item,id FROM CTE WHERE ItemNumber > 1 ) CTE2 ON CTE1.id=CTE2.id WHERE CTE1.ItemNumber = 1;
WITH CTE AS(SELECT * FROM YourTableNameGoesHere CROSS APPLY (SELECT * FROM dbo.DelimitedSplit8K(val, ',')) x)SELECT UserName = CTE1.Item, SaleNumber = REPLACE(CHAR(39) + CTE2.Item + CHAR(39), CHAR(39)+CHAR(39), CHAR(39)) FROM CTE CTE1 INNER JOIN (SELECT Item,id FROM CTE WHERE ItemNumber > 1 ) CTE2 ON CTE1.id=CTE2.id WHERE CTE1.ItemNumber = 1;