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 歌曲名称
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 歌曲名称