我有一个带有两列标签和位置的表。ORACLE:用逗号返回不同的值
Label Location
---------------------------------------
OLR-2873-SSA/GTA GTA
OLR-2873-SSA/GTA GTA
OLR-2873-SSA/POW POW
OLR-2873-SSA/POWGTA POWGTA
我想输出到像
Lable Location
-----------------------------------------------------------------------
OLR-2873-SSA/GTA,OLR-2873-SSA/POW,OLR-2873-SSA/POWGTA GTA,POW,POWGTA
我想使用正则表达式,并得到他的输出。
我试图
Select
dbms_lob.substr(ltrim(REGEXP_REPLACE(REPLACE(
REPLACE(
XMLAGG(
XMLELEMENT("A",label)
ORDER BY label).getClobVal(),
'<A>',','),
'</A>',''),'([^,]+)(,\1)+', '\1'),
','),4000,1) label , dbms_lob.substr(ltrim(REGEXP_REPLACE(REPLACE(
REPLACE(
XMLAGG(
XMLELEMENT("A",location)
ORDER BY location).getClobVal(),
'<A>',','),
'</A>',''),'([^,]+)(,\1)+', '\1'),
','),4000,1) LOCATION from table_name.
但我得到这样
Label Location
----------------
OLR-2873-SSA/GTA,OLR-2873-SSA/POWGTA GTA,POWGTA
我想在甲骨文的答案。 –
Ahhh我现在看到标签或许在问题中指定也会很好。如果其他人在寻找MS版本,我会放弃它。 – Matt