使用 SQL 对表进行“转置”

2024-01-06

我不知道这个运算是否有名称,但它类似于线性代数中的转置。

有没有办法将 1 by n 表 T1 转换为

c_1|c_2|c_3|...|a_n
-------------------
1  |2  |3  |...|n

放入如下所示的 n × 2 表中

key|val
-------
c_1|1
b_2|2
c_3|3
.  |.
.  |.
a_n|n

我假设 T1 中的每一列 c_i 不太可能被识别。


基本上,你需要UNPIVOT这些数据,您可以使用UNION ALL:

select 'c_1' col, c_1 value
from yourtable
union all
select 'c_2' col, c_2 value
from yourtable
union all
select 'c_3' col, c_3 value
from yourtable
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SQL 对表进行“转置” 的相关文章

随机推荐