zoukankan      html  css  js  c++  java
  • oracle中自定义聚合函数及用法

    也是比较老套的话题了 呵呵
    表A                           表B
    p_id     p_name              r_id   r_name  r_p_id
    1001    测试项目1            100   中标单位1  1001
    1002    测试项目2            101   中标单位2  1001
                                        103   中标单位3   1001
                                        103   中标单位1   1002
                                        103   中标单位2   1002
    有时候我们需要得到类似下面的列表
    1001 测试项目1   中标单位1/中标单位2/中标单位3 
    1001 测试项目2   中标单位1/中标单位2
    先创建一个函数
       CREATE OR REPLACE FUNCTION  STRCAT ( str_in in varchar2 )--分类字段
       return varchar2
    is
          str_list  varchar2(4000) default null;--连接后字符串
          str  varchar2(20) default null;--连接符号
    begin
          for x in ( select r_name   from B where r_p_id= str_in ) loop
              str_list := str_list || str || to_char(x.r_name);
              str := '/';
          end loop;
          return str_list;
    end;


    下面取列表
    select p_id,p_name ,STRCAT(p_id) as hitBiders from A
    也可以 select p_id,p_name ,(select STRCAT(p_id)  from dual) as hitBiders from A
    当然建议用第一个语句
    若是在SQL SERVER里可以象下面这样写
    create   function   dbo.str_cat(@id   int)
    returns   varchar(3000)
    as
    begin
        declare   @s   varchar(8000)
        select   @s   =   ' '
        select   @s   =   @s   +   r_name   +   '/ '     from   b   where   r_p_id   =   @id
        return   left(@s,len(@s)-1)    
    end
    或者
    create   function   dbo.str_cat(@id  int)
        returns   varchar(3000)
    as  
        begin
              declare   @sql   varchar(8000)
              set   @sql= ' '
              select   @sql=@sql+ '/ '+ r_name  from   b   where   r_p_id =@id
              return   stuff(@sql,1,1, ' ')
        end
    go







  • 相关阅读:
    Java 文件操作大全
    JAVA 环境变量配置
    Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker)
    maven的安装,maven库配置和Eclipse插件的安装
    maven web项目不能创建src/main/java等文件夹的问题
    Java 高效检查一个数组中是否包含某个值
    java发送http的get、post请求
    Timequest静态时序分析(STA)基础
    QuartusII Design partion and logic lock
    FPGA优化之高扇出
  • 原文地址:https://www.cnblogs.com/peaceli/p/1060814.html
Copyright © 2011-2022 走看看