今天记录一下在oracle中多个字段如何和合并成一个字段,使用到符号“||” 1.组合查询的数据 1)组合前查询的语句 -- 组合前数据的字段 -- select A.MID CATE_ID,A.Code CATE_CODE,A.Name CATE_NAME,A.GoodsType GOODS_TYPE_ID,B.Text GOODS_TYPE_NAME from Dxc_Goods_Cate A left join SysState B on A.GoodsType = B.Value and
未合并情况 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
同一张表存在类似多级菜单的上下级关系的数据,查询出符合条件的某些数据的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
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的
1.concat()函数 2.concat_ws()函数 3.group_concat()函数 操作的table select * from test_concat order by id limit 5; 1.concat()函数 功能:将多个字符串连接成一个字符串. 语法:concat(str1, str2,...),返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null. 3.举例: select concat(area,fr,best_history_data)
例如student表: studentID studentName studentScore 01 Alice 90 02 Bill 95 03 Cindy 100 一.拼接多个字段的值 select studentID+‘-’+studentName+'-'+studentScore AS studentInfo from student 结果: 二.一个字段多条记录的拼接 select stuff((select '|'+studentName from student for xm
oracle数据库根据不同条件给同一字段修改相应的值: 例如:根据职务调整雇员的工资,如果职务为“SALESMAN”或者“ANALYST”工资上调100元,如果职务为“MANAGER”工资上调200元,其它职务工资上调50元. update emp set sal=( case when job in('SALESMAN','ANALYST') then sal+100 when job = 'MANAGER' then sal+200 else sal+50 end ); 查询出当前的orac
在开发过程中遇到这样的一个需求,通过GROUP BY分组归类后将同属性的字段进行拼接. 表结构为: id value a b c a b 需要得到结果: id value a,b,c a,b 一开始在网上找到的解决办法是利用SQL中的STUFF方法,但是经过测试发现该方法无法使用,提示STUFF方法不存在的错误,猜测可能是MYSQL SERVER版本的问题.由于通过STUFF方法进行拼接的SQL语句过于复杂且暂时找不到STUFF方法不存在的原因,弃用. 之后选择GROUP_CONCAT方法,具体
1.oracle主键修改 1.1)首先查看需要修改的表的主键名,默认的情况下,数据库会自动分配 select * from user_cons_columns where table_name='表名': 注意表名可能需要大写,否则可能查不出来. 1.2)删除主键约束 alter table 表名 drop constraint 主键名(通过上一步查找出来) 1.3)添加主键约束 alter table 表名 add constraint 主键名 primary key(字段名1,字段名2...
如student表: studentID studentName studentScore 01 Alice 90 02 Bill 95 03 Cindy 100 一.拼接多个字段的值 select studentID+‘-’+studentName+'-'+studentScore AS studentInfo from student 结果: 二.一个字段多条记录的拼接 select stuff((select '|'+studentName from student for xml p