【发布时间】:2016-11-03 13:30:47
【问题描述】:
【问题讨论】:
-
好的,请问如何使用html函数创建表格?
-
删除 img 并将表格示例作为纯文本发布。
【问题讨论】:
跳过你问问题的方式,这里是解决方案(它可能看起来很复杂,但它有效):
SELECT postcode,
replace(REGEXP_REPLACE(replace(LISTAGG(moved_in, '-') WITHIN GROUP (ORDER BY ROWNUM),'No Data Available',''),'([^-]*)(-\1)+($|-)', '\1\3'),'-','') AS moved_in,
replace(REGEXP_REPLACE(replace(LISTAGG(moved_out, '-') WITHIN GROUP (ORDER BY ROWNUM),'No Data Available',''),'([^-]*)(-\1)+($|-)', '\1\3'),'-','') AS moved_out,
replace(REGEXP_REPLACE(replace(LISTAGG(district, '-') WITHIN GROUP (ORDER BY ROWNUM),'No Data Available',''),'([^-]*)(-\1)+($|-)', '\1\3'),'-','') AS district,
replace(REGEXP_REPLACE(replace(LISTAGG(district_new, '-') WITHIN GROUP (ORDER BY ROWNUM),'No Data Available',''),'([^-]*)(-\1)+($|-)', '\1\3'),'-','') AS district_new,
replace(REGEXP_REPLACE(replace(LISTAGG(country_code, '-') WITHIN GROUP (ORDER BY ROWNUM),'No Data Available',''),'([^-]*)(-\1)+($|-)', '\1\3'),'-','') AS country_code
FROM test_tab
GROUP BY postcode;
给我输出:
POSTCODE | MOVED_IN | MOVED_OUT | DISTRICT | DISTRICT_NEW | COUNTRY_CODE
-----------------------------------------------------------------------------
B23 6AD | 16/11/04 | 16/11/04 | Birmingham | Birmingham | 00B23
我用这段代码创建了测试数据:
CREATE TABLE test_tab
(Postcode VARCHAR2(100),
Moved_in DATE,
Moved_out DATE,
District VARCHAR2(100),
District_New VARCHAR2(100),
Country_code VARCHAR2(100));
INSERT INTO test_tab VALUES ( 'B23 6AD', sysdate, SYSDATE, 'No Data Available', 'No Data Available', '00B23');
INSERT INTO test_tab VALUES ('B23 6AD', sysdate, SYSDATE, 'Birmingham', 'Birmingham', '00B23');
INSERT INTO test_tab VALUES ('B23 6AD', SYSDATE, SYSDATE, 'Birmingham', 'Birmingham', 'No Data Available');
【讨论】: