Create this function that will used for parse values
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[ParseValues]
(@String varchar(8000), @Delimiter varchar(max) )
RETURNS @RESULTS TABLE (ID int identity(1,1), Val varchar(max))
AS
BEGIN
DECLARE @Value varchar(max)
WHILE @String is not null
BEGIN
SELECT @Value=CASE WHEN PATINDEX('%'+@Delimiter+'%',@String) >0 THEN LEFT(
@String,PATINDEX('%'+@Delimiter+'%',@String)-1) ELSE @String END,
@String=CASE WHEN PATINDEX('%'+@Delimiter+'%',@String) >0 THEN SUBSTRING(
@String,PATINDEX('%'+@Delimiter+'%',@String)+LEN(@Delimiter),LEN(@String)) ELSE NULL END
INSERT INTO @RESULTS (Val)
SELECT @Value
END
RETURN
END
Query to use...
select a.val as Alpha ,b.val as Nums from dbo.parsevalues('a,b,c,d',',') as a
left join dbo.parsevalues('1,2,3,4',',') as b on a.id=b.id
Happy Coding!
:)