`
foolraty
  • 浏览: 391753 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
文章分类
社区版块
存档分类
最新评论

mysql的group_concat对应oracle的wm_concat

阅读更多
SELECT
  wm_concat (c.name) 参与人,
  title  标题,
FROM
  test a,
group by
  a.title

create or replace function my_concat(mid in integer) return varchar2       --记住:参数和返回值里的数据类型都不用定义长度   
is  
result varchar2(4000);    --定义变量,记住Oracle中定义变量不需要   
begin  
       for temp_cursor in (select role from table2 where id=mid) loop     --此处在游标FOR循环中使用查询   
           result :=result || temp_cursor.role || ',';    --Oracle中字符连接使用||,而sql server中用+          
       end loop;   
       result := rtrim(result,',');  --去掉最后一个空格,还有Oracle中的赋值前面没有set   
       return result;   
end;   
  
select table1.*,my_concat(table1.id) from table1,table2 where table1.id=table2.id   
group by table1.id,table1.name  
order by table1.id  


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics