如何从oracle 11g中的一行中的不同列获取值

时间:2017-05-19 09:03:47

标签: sql oracle oracle11g pivot

我有一张包含以下记录的表格,如图

enter image description here

我想要这样的记录

The cntry_1,cntry_2,cntry_3,cntry_4

cntry_1,cntry_2,cntry_3,cntry_4根据第一个表的country_type_id。 country_type_id 1 =列cntry_1

1 个答案:

答案 0 :(得分:2)

您必须使用PIVOT来获得您正在寻找的内容。您可以像这样使用它:

SELECT *
FROM 
(
  SELECT    t.[Business name],
            t.is_default,
            t.is_active,
            t.context,
            t.country,
            t.country_type_id
  FROM      TableName t
) src
PIVOT
(
  MAX(Country)
  FOR country_type_id IN ([1], [2], [3], [4])
) piv

在此处查看 - > http://rextester.com/HUK42854

希望这有帮助!!!