create this function
CREATE Function [dbo].[fn_Splitter] (@IDs Varchar(100))
Returns @Tbl_IDs Table (ID Int) As
Begin
Set @IDs = @IDs + ','
Declare @Pos1 Int
Declare @pos2 Int
Set @Pos1=1
Set @Pos2=1
While @Pos1<len(@ids)>
Begin
Set @Pos1 = CharIndex(',',@IDs,@Pos1)
Insert @Tbl_IDs Select Cast(Substring(@IDs,@Pos2,@Pos1-@Pos2) As Int)
Set @Pos2=@Pos1+1
Set @Pos1 = @Pos1+1
End
Return
End
now try this query
with tbl_Ids
(
select row_number() over(partition by Id) as srno,Id
from dbo.fn_splitter('1,2,3,4') as tbl_Id
)
select tbl_Ids.Id,tbl_Orders.Order from tbl_Ids
left join
(
select row_number() over(partition by Id) as srno,Id as Order
from dbo.fn_splitter('2,4,1,3') as tbl_Order
) as tbl_Orders on tbl_Ids.srno=tbl_Order.srno
Happy Coding!
:)