主頁 > 知識庫 > oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數實現多行記錄用逗號拼接在一起

oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數實現多行記錄用逗號拼接在一起

熱門標簽:百度地圖標注員是干什么 外呼系統(tǒng)口號 地圖標注付款了怎么找不到了 沈陽400電話是如何辦理 貴陽智能電銷機器人官網 北京營銷外呼系統(tǒng)廠家 外呼系統(tǒng)鄭州 溫州人工外呼系統(tǒng) 北京外呼系統(tǒng)公司排名
需求
目前接觸BI系統(tǒng),由于業(yè)務系統(tǒng)的交易記錄有很多,常常有些主管需要看到所有的記錄情況,但是又不想滾動,想一眼就可以看到所有的,于是就想到了字符串拼接的形式。

解決方案:使用Oracle自帶的函數 WMSYS.WM_CONCAT,進行拼接。
函數限制:它的輸出不能超過4000個字節(jié)。

為了不讓SQL出錯,又可以滿足業(yè)務的需求,超過4000個字節(jié)的部分,使用“。。?!?
實現SQL如下
復制代碼 代碼如下:

CREATE TABLE TMP_PRODUCT
(PRODUCT_TYPE VARCHAR2(255),
PRODUCT_NAME VARCHAR2(255));

insert into tmp_product
select 'A','ProductA'||rownum from dual
connect by level 100
union all
select 'B','ProductB'||rownum from dual
connect by level 300
union all
select 'C','ProductC'||rownum from dual
connect by level 400
union all
select 'D','ProductD'||rownum from dual
connect by level 500
union all
select 'E','ProductE'||rownum from dual
connect by level 600;
復制代碼 代碼如下:

SELECT PRODUCT_TYPE,
WM_CONCAT(PRODUCT_NAME) || MAX(STR) AS PRODUCT_MULTI_NAME
FROM (SELECT PRODUCT_TYPE,
PRODUCT_NAME,
CASE
WHEN ALL_SUM > 4000 THEN
'...'
ELSE
NULL
END AS STR
FROM (SELECT PRODUCT_TYPE,
PRODUCT_NAME,
SUM(VSIZE(PRODUCT_NAME || ',')) OVER(PARTITION BY PRODUCT_TYPE) AS ALL_SUM,
SUM(VSIZE(PRODUCT_NAME || ',')) OVER(PARTITION BY PRODUCT_TYPE ORDER BY PRODUCT_NAME) AS UP_SUM
FROM TMP_PRODUCT)
WHERE (UP_SUM = 3998 AND ALL_SUM > 4000)
OR ALL_SUM = 4001)
GROUP BY PRODUCT_TYPE
您可能感興趣的文章:
  • SQL語句練習實例之五 WMS系統(tǒng)中的關于LIFO或FIFO的問題分析
  • mysql 一個較特殊的問題:You can''t specify target table ''wms_cabinet_form''
  • woso.exe,wlso.exe,wmso.exe, woso.exe,ztso.exe 等木馬盜號病毒專殺工具
  • iwms access與sql版的安裝與轉換
  • Android自定義Toast之WindowManager
  • Android利用WindowManager實現懸浮窗
  • 深入理解Android中的Window和WindowManager
  • Android利用WindowManager生成懸浮按鈕及懸浮菜單
  • 在當前Activity之上創(chuàng)建懸浮view之WindowManager懸浮窗效果
  • Android中WindowManager與WMS的解析

標簽:淮北 溫州 定西 通遼 潮州 衡水 衢州 包頭

巨人網絡通訊聲明:本文標題《oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數實現多行記錄用逗號拼接在一起》,本文關鍵詞  oracle,SQL,技巧,之,二,WMSYS.WM,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數實現多行記錄用逗號拼接在一起》相關的同類信息!
  • 本頁收集關于oracle—SQL技巧之(二)WMSYS.WM_CONCAT函數實現多行記錄用逗號拼接在一起的相關信息資訊供網民參考!
  • 推薦文章