这是DDL -
create table tbl1 (
id number,
value varchar2(50)
);
insert into tbl1 values (1, 'AA, UT, BT, SK, SX');
insert into tbl1 values (2, 'AA, UT, SX');
insert into tbl1 values (3, 'UT, SK, SX, ZF');
Run Code Online (Sandbox Code Playgroud)
注意,这里的值是逗号分隔的字符串.
但是,我们需要结果如下 -
ID VALUE
-------------
1 AA
1 UT
1 BT
1 SK
1 SX
2 AA
2 UT
2 SX
3 UT
3 SK
3 SX
3 ZF
Run Code Online (Sandbox Code Playgroud)
我们如何为此编写SQL?
在Oracle数据库中,我有一个表,其中包含许多不同测试类型的结果。
表:
object_tested, test_date, test_a, test_a_result, test_b, test_b_result
TmpObj timestamp, value1 value2 value3 value4
Run Code Online (Sandbox Code Playgroud)
我需要导出这些测试结果,但需要为每个测试创建一个单独的行,如下所示:
object_tested, test_date, test, test_result
TmpObj timestamp, value1, value2
TmpObj timestamp, value3, value4
Run Code Online (Sandbox Code Playgroud)
最快的方法是什么?也许是UNION或JOIN?