Your can use this function
create function [dbo].[patrak3_ugc_data_msc]
(
)
RETURNS @ugc_patarakno3 TABLE(sr_no int identity(1,1),
college_id int,
subject_paper varchar(255),
male varchar(50),
female varchar(50),
subject_paper2 varchar(255),
male2 varchar(50),
female2 varchar(50),
subject_paper3 varchar(255),
male3 varchar(50),
female3 varchar(50),
subject_paper4 varchar(255),
male4 varchar(50),
female4 varchar(50)
)
as
begin
DECLARE @Subject_Paper varchar(255)
DECLARE @male INT
DECLARE @female INT
DECLARE @srno INT
DECLARE @college_id INT
DECLARE MYCUR CURSOR STATIC LOCAL READ_ONLY FOR
select
sd.swd_college_id,
Row_Number()over(PARTITION BY swd_college_id order by swd_college_id ) as srno,
sm.Subject_Paper,
SUM(case when em.gender=1 then 1 else 0 end) as male,
SUM(case when em.gender=2 then 1 else 0 end) as female
from semester_wise_student_data as sd,
OPEN MYCUR
FETCH NEXT FROM MYCUR INTO @college_id,@srno,@Subject_Paper,@male,@female
WHILE @@FETCH_STATUS =0
BEGIN
IF(@srno = 1)
BEGIN
insert into @ugc_patarakno3 (college_id,subject_paper,male,female)values(@college_id,@Subject_Paper,@male,@female)
end
IF(@srno = 2)
BEGIN
update @ugc_patarakno3 set subject_paper2=@Subject_Paper,male2=@male,female2=@female where college_id=@college_id
END
IF(@srno = 3)
BEGIN
update @ugc_patarakno3 set subject_paper3=@Subject_Paper,male3=@male,female3=@female where college_id=@college_id
END
IF(@srno = 4)
BEGIN
update @ugc_patarakno3 set subject_paper4=@Subject_Paper,male4=@male,female4=@female where college_id=@college_id
END
FETCH NEXT FROM MYCUR INTO @college_id,@srno,@Subject_Paper,@male,@female
END
CLOSE MYCUR
DEALLOCATE MYCUR
Return
end