You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DB2按ID将各列转为行的实现方法咨询(不支持pivot/lateral)

操作专业名称

你描述的列转行操作的标准专业名称为 逆透视(Unpivot),是透视(Pivot)操作的反向逻辑,作用是将宽表结构的多个列字段转换为行维度的枚举值。

DB2低版本兼容实现方案

由于你使用的DB2版本不支持PIVOT、LATERAL语法,可以通过UNION ALL拼接多个查询的方式实现需求,无需依赖高级语法,示例SQL如下(假设你的原始表名为original_table):

SELECT 
  ID,
  'Firstname' AS ColumnName,
  Firstname AS ColumnValue
FROM original_table

UNION ALL

SELECT 
  ID,
  'Lastname' AS ColumnName,
  Lastname AS ColumnValue
FROM original_table

UNION ALL

SELECT 
  ID,
  'Age' AS ColumnName,
  CAST(Age AS VARCHAR(10)) AS ColumnValue
FROM original_table

ORDER BY ID, ColumnName

注意事项

  • UNION ALL要求所有子查询返回的字段数量、类型完全一致,因此数字类型的Age字段需要通过CAST转为字符串类型,和前两个子查询的ColumnValue类型匹配
  • 最终添加ORDER BY子句可以保证输出结果和你给出的期望顺序完全一致

内容的提问来源于stack exchange,提问作者AdamTheD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:21:01