OracleSQL技术(2)wmsys.wm_concat功能来实现多行记录由逗号
目前,BI系统中有很多联系人。因为业务系统中有大量的事务记录,许多管理人员需要查看所有记录,但他们不想滚动。他们可以一目了然地看到所有这些,因此他们想到字符串连接的形式。
解决的办法是使用功能所带来的wmsys.wm_concat,Oracle,拼接。
函数限制:它不能输出超过4000个字节。
为了不让SQL出错,并满足业务需要,超过4000字节,使用。
SQL的实现如下:
复制代码代码如下所示:
创建表tmp_product
(product_type VARCHAR2(255),
product_name VARCHAR2(255));
插入tmp_product
select'a ',' | 'producta | rownum双
按级别连接< 100
联盟的所有
select'b ',' | 'productb | rownum双
按级别连接< 300
联盟的所有
select'c ',' | 'productc | rownum双
按级别连接< 400
联盟的所有
选择最好的,'productd| | rownum双
按级别连接< 500
联盟的所有
select'e ',' | 'producte | rownum双
按级别连接< 600;
复制代码代码如下所示:
选择product_type,
wm_concat(product_name)| | max(STR)作为product_multi_name
从product_type(选择,
product_name,
案例
当all_sum > 4000
' '…
其他的
无效的
端为STR
从product_type(选择,
product_name,
和(vsize(product_name | | ','))在(划分为all_sum product_type),
和(vsize(product_name | | ','))在(由product_name product_type秩序up_sum分区)
从tmp_product)
在(up_sum 4000)
或all_sum < = 4001)
集团通过product_type