create table #tt
(id int, data varchar(20))
insert #tt
(id , data)
values
(1,'Name'),
(2,'Adam'),
(3,'SEX'),
(4,'Male'),
(5,'AGE'),
(6,'27'),
(7,'Name'),
(8,'Bob'),
(9,'SEX'),
(10,'Male'),
(11,'AGE'),
(12,'28')
create table #endResult
(ID int identity(1,1), Name varchar(50),SEX VARCHAR(6), Age int)
insert #endResult
(Name, SEX, Age )
select
t2.data as Name
,t4.data as SEX
,t6.data as Age
from
#tt t1
join
#tt t2
on
t1.data = 'Name'
and
t1.id+1 = t2.id
join
#tt t3
on
t1.id+2 = t3.id
and
t3.data = 'SEX'
join
#tt t4
on
t1.id+3 = t4.id
join
#tt t5
on
t1.id+4 = t5.id
and
t5.data = 'AGE'
JOIN
#tt t6
on
t1.id+5 = t6.id
select * from #endResult