从 1 行 3 列制作 3 行 1 列

make 3 rows, 1 column from 1 row 3 colums

我在 db2 中有以下 table:

id person 1 person 2 person 3
1 10 12 15

我现在想查询returns以下内容:

id person
1 10
1 12
1 15

我如何在 db2 中执行此操作?

提前致谢!

使用联合:

select id, person1 as person
from the_table
union all 
select id, person2
from the_table
union all 
select id, person3
from the_table

不多次扫描相同的潜在大 table 效率更高。
试试这个:

SELECT T.ID, V.PERSON
FROM MYTAB T, TABLE (VALUES T.PERSON1, T.PERSON2, T.PERSON3) V (PERSON);