首页 > 解决方案 > 当必须根据其 id 将一列的值分配给单个列时,如何在 sql 中设置值

问题描述

我在基于 id 的一列中有数据我必须确定值并且必须在其他列中分配它。我该怎么做?这是我的问题的例子。

在此处输入图像描述

我想要的结果是这样的

在此处输入图像描述

标签: sqloracle

解决方案


在您的示例中找不到任何测量值。

根据您的输入数据,这将是您预期输出的解决方案。

SELECT ID,
    MAX(CASE WHEN code = '3148' THEN '3148' ELSE ' ' END) AS Height,
    MAX(CASE WHEN code = '3142' THEN '3142' ELSE ' ' END) AS Width,
    MAX(CASE WHEN code = '3155' THEN '3155' ELSE ' ' END) AS Thickness,
    MAX(CASE WHEN code = '3241' THEN '3241' ELSE ' ' END) AS Spine,
    MAX(CASE WHEN code = '4431' THEN '4431' ELSE ' ' END) AS Weight
FROM Your_table
GROUP BY Id

推荐阅读