create function get_str(p_id in varchar2)
return varchar2
as
str varchar2(50);
cursor t_sor is
select 歌手姓名 from 歌手例表 a,歌曲 b,歌手歌曲对应表 c where a.歌手编号=c.歌手编号 and b.歌曲编号=c.歌曲编号 and b.歌曲编号=p_id;
num number:=0;
begin
for v_sor in t_sor loop
if num=0 then
str:=v_sor.歌手姓名;
num:=num+1;
else
str:=str||','||v_sor.歌手姓名;
end if;
end loop;
return str;
end;
/
select b.歌曲名称,get_str(b.歌曲名称) 歌手姓名 from 歌手例表 a,歌曲 b,歌手歌曲对应表 c where a.歌手编号=c.歌手编号 and b.歌曲编号=c.歌曲编号 group by 歌曲名称