方法一
SQL> WITH SHOPPING AS 2 ( 3 SELECT '1' U_ID, '苹果' GOODS, '2' QTY FROM DUAL UNION ALL 4 SELECT '2' U_ID, '梨子' GOODS, '5' QTY FROM DUAL UNION ALL 5 SELECT '1' U_ID, '西瓜' GOODS, '4' QTY FROM DUAL UNION ALL 6 SELECT '3' U_ID, '葡萄' GOODS, '1' QTY FROM DUAL UNION ALL 7 SELECT '3' U_ID, '香蕉' GOODS, '1' QTY FROM DUAL UNION ALL 8 SELECT '1' U_ID, '橘子' GOODS, '3' QTY FROM DUAL 9 ) 10 SELECT U_ID, WMSYS.WM_CONCAT(GOODS) GOODS_SUM 11 FROM SHOPPING 12 GROUP BY U_ID; U_ID GOODS_SUM ---- -------------------------------------------------------------------------------- 1 苹果,橘子,西瓜 2 梨子 3 葡萄,香蕉
方法二
SQL> WITH SHOPPING AS 2 ( 3 SELECT '1' U_ID, '苹果' GOODS, '2' QTY FROM DUAL UNION ALL 4 SELECT '2' U_ID, '梨子' GOODS, '5' QTY FROM DUAL UNION ALL 5 SELECT '1' U_ID, '西瓜' GOODS, '4' QTY FROM DUAL UNION ALL 6 SELECT '3' U_ID, '葡萄' GOODS, '1' QTY FROM DUAL UNION ALL 7 SELECT '3' U_ID, '香蕉' GOODS, '1' QTY FROM DUAL UNION ALL 8 SELECT '1' U_ID, '橘子' GOODS, '3' QTY FROM DUAL 9 ) 10 SELECT U_ID, SUBSTR(MAX(SYS_CONNECT_BY_PATH(GOODS, ',')), 2) GOODS_SUM 11 FROM ( 12 SELECT U_ID, GOODS, ROW_NUMBER() OVER(PARTITION BY U_ID ORDER BY U_ID) RN 13 FROM SHOPPING 14 ) 15 GROUP BY U_ID 16 START WITH RN = 1 17 CONNECT BY PRIOR RN = RN - 1 AND PRIOR U_ID = U_ID 18 ORDER BY U_ID; U_ID GOODS_SUM ---- -------------------------------------------------------------------------------- 1 葡萄,香蕉,橘子 2 梨子 3 葡萄,香蕉
相关推荐
oracle纯SQL语句多行合并一行,中间用“,”隔开,方便快速的显示在页面上
oracle10g,9i多行合并一行函数
SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行
本文实例讲述了oracle实现多行合并的方法。分享给大家供大家参考。具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换...
怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。
很好的资料 共享给大家 很好研读 增强理解 没事多看看 开发一定没问题
不做详解,直接上图。 SELECT T.NAME, T.TESTSTR FROM TEST2 T; SELECT DISTINCT T.NAME, REPLACE(REGEXP_SUBSTR(T.TESTSTR, '[^,]+', 1, LEVEL), ',', ' ') TESTSTR FROM TEST2 T WHERE 1 = 1 ...
8.5.2 例1:从前一行中返回一个值 203 8.5.3 理解数据行的位移 204 8.5.4 例2:从下一行中返回一个值 204 8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用...
查看用户下所有主键外键引用, Windows环境中Kill掉Oracle线程(orakill),查看有哪些表被锁住,Oracle 官方文档下载,对表收集统计信息,刷新物化视图,Oracle 查看用户权限,Oracle 外连接和 (+)号的用法,多行合并一行
他创办了自己的咨询公司,作为一名独立的顾问,他围绕大量的Oracle技术设计并开发了软件和培训课程,内容涉及数据库、应用服务器和商业智能产品,拥有12年的IT从业经验。 Bob Bryla是Oracle 9i和10g的认证专家,他...
他创办了自己的咨询公司,作为一名独立的顾问,他围绕大量的Oracle技术设计并开发了软件和培训课程,内容涉及数据库、应用服务器和商业智能产品,拥有12年的IT从业经验。 Bob Bryla是Oracle 9i和10g的认证专家,他...
9.2 使用集合运算符将多个查询合并为一个查询 9.2.1 UNIONALL运算符 9.2.2 UNION运算符 9.2.3 INTERSECT运算符 9.2.4 MINUS运算符 9.2.5 更复杂的示例 9.3 控制返回行的顺序 9.4 认证小结 9.5 本章 ...
>如果粘贴一行文字,这行文字将被插入到列模式中所有选中的行 >如果粘贴多行文字,这些文字将被逐行被插入到列模式中选中的行 6. 无限的undo/redo >在十六进制编辑模式和文本模式切换后仍然可以无限次地undo/redo 7....
SQL语句可以在一行上写出,建议多行写出,便于阅读和调试。 多条SQL语句必须以分号分隔。多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号...
使用聚合函数实现 多行合并 Drop Type Strcat_type; Drop Function f_StrCat; Drop Package UTL_INet; Variable ls_ObjectName VarChar2(128); Begin Select Sequence_Name Into :ls_ObjectName From User_...
实例156 限制多行文本域输入的字符个数 187 实例157 设置文本框的只读属性 188 实例158 自动计算金额 189 实例159 为文本框设置默认值 190 实例160 设置文本框的样式 191 实例161 文本域的滚动条 192 3.3 下拉列表的...