db2 由1行3列变为3行1列

nnt7mjpx  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(311)

我在db2中有以下表:
| 标识符|人员1|人物2|人物3|
| - -|- -|- -|- -|
| 一个|10个|十二个|十五个|
现在,我想进行一个查询,返回以下内容:
| 标识符|人|
| - -|- -|
| 一个|10个|
| 一个|十二个|
| 一个|十五个|
如何在db2中实现这一点?
提前感谢!

bxgwgixi

bxgwgixi1#

不多次扫描同一个可能很大的表会更有效。
试试看:

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

iaqfqrcu2#

使用UNION:

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

相关问题