stuff(select ',' + fieldname from tablename for xml path('')),1,1,'') 这一整句的作用是将多行fieldname字段的内容串联起来,用逗号分隔.例如表fieldname-----------AAABBBCCC串联之后就是字符串: AAA,BBB,CCCfor xml path是SQL Server 2005以后版本支持的一种生成XML的方式.具体如何使用,请参考联机丛书.stuff函数的作用是去掉字符串最前面的逗号分隔符. --…
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的…
未合并情况 SELECT a.id, b.name AS "role" FROM sys_user a INNER JOIN sys_user_role c ON a.id=c.user_id INNER JOIN sys_role b ON b.id =c.role_idWHERE a.del_flag=0 AND b.del_flag=0 结果 id role 1 系统管理员1 测试角色2 系统管理员2  测试角色9 系统管理员9 测试角色d11828f3dbf148829287a…
原SQL AND acc.id = accRole.acc_id) AND accRole.role_id = T_PM_ROLE.id ORDER BY acc.id 结果,有一个人有两个角色,如果想要将两个角色合并该如何呢? 答案:使用 group_concat函数 注:group_concat只有与group by语句同时使用才能产生效果 AND acc.id = accRole.acc_id) AND accRole.role_id = T_PM_ROLE.id GROUP BY acc…
declare @test table( name varchar(10)) insert into @test values('a') insert into @test values('b') insert into @test values('c') insert into @test values('d') SELECT * FROM @test select distinct (select cast(name AS varchar(2))+','from @test for xml…
如果做报表,一条记录中有空值,使用FreeMarker渲染word会报错,并把错误日志输出到Word中.所以需要之前判断下当前记录中属性值是否有空值. package com.huijiasoft.utils; import java.util.Iterator; import java.util.Set; import java.util.Map.Entry; import com.huijiasoft.model.User; /** * @author pangPython * 数据库工具类…
SELECT 字段=(SELECT b.合并字段+',' FROM 表一 AS b WHERE b.相同条件=a.相同条件 FOR XML PATH('')) FROM 表一 AS a DECLARE @temp TABLE (caccount VARCHAR(50), icaccount VARCHAR(50))INSERT INTO @tempSELECT a.caccount,b.caccount AS icaccount FROM op_client_main_caccount aLEF…
思路: 先将取出的值随机排序,然后在随机排序的每次取第一条的结果 举例如下: select * from(select t.code fromTBIZOPS_PROVINCE  t ORDER BY DBMS_RANDOM.RANDOM())where rownum < 2;select * from (select t.code from TBIZOPS_CITY t wheret.province_id = '13' ORDER BY DBMS_RANDOM.RANDOM()) where…