有两个函数wmsys.wm_concat和listagg 1,SELECT wmsys.wm_concat(CATALOG_NAME) FROM "DATASHARE"."RES_CATALOG_CLASSIFY" WHERE PARENT_ID = '2'; 2, SELECT LISTAGG(CATALOG_NAME,',') WITHIN GROUP(ORDER BY CATALOG_NAME) FROM RES_CATALOG_CLASSIFY WHERE
把一列数据拼接成一个字符串比较简单: declare @test varchar(500) set @test=''; select @test=@test+name+',' from person select @test 但是如果数据中有重复选项,想去掉重复的就比较绕弯了. ) set @test=''; select distinct @test=@test+name+',' from person select @test 加distinct是不行的,我在sql server 2008
1.先要声明全局type:并且,字段变量类型要为object,不能为record: (1)CREATE OR REPLACE TYPE "DDD_BY_DEPT_STATISTISC" is object ( --建立一个对象DEPT_CODE VARCHAR2(200),DEPT_NAME VARCHAR2(200),SYQD NUMBER,ZKZTS NUMBER ) (2)CREATE OR REPLACE TYPE "DDD_BY_DEPT_STATISTI
with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all select 'China' nation ,'Beijing' city from dual union all select 'USA' nation ,'New York' city from dual union all se
11g里面用listagg: select listagg(name,',') within (order by id) from table 10g里面用wm_concat:select wm_concat(name) from table wm_concat是undocument的listagg是11g document的
) SET @resultstr='' SELECT @resultstr=@resultstr+'|'+[BaseImage] FROM dbo.life_fc PRINT @resultstr 示例2 ),),),) SET @imgColleciton='' SELECT @citcode=BaseCityCode FROM dbo.life_fc SELECT @type= BaseTypeID FROM dbo.life_fc SELECT @imgColleciton=@imgCol
同一张表存在类似多级菜单的上下级关系的数据,查询出符合条件的某些数据的id拼接成一个字段返回: SELECT CONCAT(a.pid, ',', b.subid) AS studentIDS FROM (SELECT id as pid, sourceCode as scode FROM student WHERE studentType='父级条件1' AND studentCode='父级条件2') a LEFT JOIN (SELECT id as subid, parentCode p