oracle中的一个查询问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 16:25:49
有表一张:
vetId vetName specName
1 张正 内科
1 张正 耳鼻喉科
想要查询结果为:
1 张正 内科、耳鼻喉科
请问该怎样写啊 谢谢啊

写一个oracle函数
create or replace function get_val1(tmp_vetid number) return varchar2 is
tmp_val varchar2(4000);
begin

for cur in (select name, specname from t_03 where id = tmp_vetid) loop
tmp_val := tmp_val || ' ' || cur.specname;
END LOOP;
tmp_val := rtrim(tmp_val, 1);
return tmp_val;
end;

select distinct id,name ,get_val1(id) "自己定义列名" from t_03;