如何将数据从不同的行旋转到不同列下的单个行?

时间:2019-04-22 18:53:46

标签: sql oracle

所以我有一个名为Value的表,该表与不同的“字段”相关联:

 VALUE_ID      VALUE_TX       FIELD_NAME     SUB_ID
     1          Yes             Adult           1
     2          18              Age             1
     3          Black           Eye Color       1 
     4          Brown           Hair Color      1
     5          Female          Gender          1

我有一个名为Submitted的表,如下所示:

 SUB_ID      Submitted_Name
    1         TEST_RUN

我需要一个看起来像这样的结果集:

 Submitted_Name    Adult      Age     Eye Color     Hair Color      Gender
    TEST_RUN       Yes        18      Black         Brown           Female

我尝试了以下操作:

 SELECT * FROM (
                 select value_Tx, field_name, sub_id
                   from VALUE
               )
         PIVOT (max (value_tx) for field_name in ('Adult', 'Age', 'Eye Color', 'Hair Color', 'Gender')
               );

我在做什么错?请让我知道是否需要添加其他详细信息/数据。

谢谢!

  • 列表项

0 个答案:

没有答案