create table A_TEST1
(
RN INTEGER,
PRODUCT VARCHAR2(45),
STEPNO VARCHAR2(10),
EQPID VARCHAR2(10),
FLAG CHAR(1)
)数据初始化如下:
RN PRODUCT STEPNO EQPID FLAG
1 Z002A 09200 NWOXE01 N
2 Z002A 09200 NWSTD06 N
1 Z002A 09200 NWSTD01 Y1. 使用SQL
select PRODUCT,STEPNO,flag, max(ltrim(sys_connect_by_path(eqpid, ';'), ';')) eqpid
from a_test1
start with rn = 1
connect by prior rn = rn - 1 and prior STEPNO = STEPNO
group by PRODUCT,STEPNO,flag
order by PRODUCT,STEPNO 结果为:
PRODUCT STEPNO FLAG EQPID
Z002A 09200 N NWSTD01;NWSTD06
Z002A 09200 Y NWSTD012.使用SQL
select PRODUCT,STEPNO,flag, max(ltrim(sys_connect_by_path(eqpid, ';'), ';')) eqpid
from a_test1
start with rn = 1
connect by prior rn = rn - 1 and prior flag = flag
group by PRODUCT,STEPNO,flag
order by PRODUCT,STEPNO 结果为:
PRODUCT STEPNO FLAG EQPID
Z002A 09200 N NWOXE01;NWSTD06
Z002A 09200 Y NWSTD01
第2段SQL才是想要的结果,但速度就变得超级慢,几分钟都不能出来结果;第1段SQL10多秒就能出来。
前提是表中的数据量有点多上面简单的数据测试不出来效果,有谁能指点一下不?
(
RN INTEGER,
PRODUCT VARCHAR2(45),
STEPNO VARCHAR2(10),
EQPID VARCHAR2(10),
FLAG CHAR(1)
)数据初始化如下:
RN PRODUCT STEPNO EQPID FLAG
1 Z002A 09200 NWOXE01 N
2 Z002A 09200 NWSTD06 N
1 Z002A 09200 NWSTD01 Y1. 使用SQL
select PRODUCT,STEPNO,flag, max(ltrim(sys_connect_by_path(eqpid, ';'), ';')) eqpid
from a_test1
start with rn = 1
connect by prior rn = rn - 1 and prior STEPNO = STEPNO
group by PRODUCT,STEPNO,flag
order by PRODUCT,STEPNO 结果为:
PRODUCT STEPNO FLAG EQPID
Z002A 09200 N NWSTD01;NWSTD06
Z002A 09200 Y NWSTD012.使用SQL
select PRODUCT,STEPNO,flag, max(ltrim(sys_connect_by_path(eqpid, ';'), ';')) eqpid
from a_test1
start with rn = 1
connect by prior rn = rn - 1 and prior flag = flag
group by PRODUCT,STEPNO,flag
order by PRODUCT,STEPNO 结果为:
PRODUCT STEPNO FLAG EQPID
Z002A 09200 N NWOXE01;NWSTD06
Z002A 09200 Y NWSTD01
第2段SQL才是想要的结果,但速度就变得超级慢,几分钟都不能出来结果;第1段SQL10多秒就能出来。
前提是表中的数据量有点多上面简单的数据测试不出来效果,有谁能指点一下不?
解决方案 »
- 急急急-dbms_job(:job1) :ORA-06512(两个帖子一共100分)
- 求一条SQL语句!大神来!在线等
- 为什么 Execute Immediate v_sql 没有 Into 特别快,有就慢?【在线】
- ora-01092错误怎么解决?
- proc 连接问题 急啊
- 首先身份証明問題(新手)
- [求助]这个动态 SQL ,为什么执行不了?
- ERROR: ORA-06544:ORA-06553:ORA-06508:ORA-06512:等错误信息
- exp 和 imp 的命令格式是怎样写的?是在sqlplus下写的吗?谢了!
- 小弟请教各位大侠:关于Unix下Oracle调用外部函数的问题
- 关于使用DBLINK 建立视图后,对该视图查询时报错
- 定时备份数据库????
直接用WM_CONCAT()函数
仔细研究上面链接中的内容,收获不小~~~~~~