MySQL pivot单行

时间:2011-01-16 05:51:51

标签: mysql sql

我发现很多问题要做到这一点,但我不能这样解决。

假设我从表中选择一行,所以我有以下内容:

A | B | C | D | E
------------------
 1| 2 | 3 | 4 | 5

如何在mysql中透视它来创建类似的东西:

r | c
-----
A | 1
-----
B | 2
-----
C | 3
-----
D | 4
-----
E | 5

然后我计划加入另一张桌子。

这可能吗?怎么样?我无法想到任何方式,我无法在谷歌找到答案。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您的列名已修复,则可以使用此

(样本表)

create table so_tmp(a int, b int, c int, d int, e int);
insert into so_tmp select 1,2,3,4,5;

从so_tmp中选择a,b,c,d,e;

取消透视查询:

select 'a' r, a c from so_tmp
union all
select 'b', b from so_tmp
union all
select 'c', c from so_tmp
union all
select 'd', d from so_tmp
union all
select 'e', e from so_tmp;