从 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);
我在 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);