如何将第一列的每一行转换为标题,将第二列转换为行?

时间:2017-06-21 19:06:51

标签: sql asp.net sql-server c#-4.0

我想要一个SQL查询,将第一列的每一行转换为标题,将第二列转换为行,这样我们如何才能使用SQL ...下面是一个示例:

在我的表记录中

    FieldName   Value   link
-----------------------------
    Country     India     1
    Country     USA       2
    Country     Russia    3
    Amount      10000     1
    Amount      20000     2
    Amount      30000     3

结果应该是:

Country Amount
---------------
India   10000
USA     20000
Russia  30000

如果有人有想法,请告诉我。 提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用(demo

SELECT MAX(CASE WHEN FieldName = 'Country' THEN Value END) AS Country,
       MAX(CASE WHEN FieldName = 'Amount' THEN Value END) AS Amount
FROM YourTable
GROUP BY link

答案 1 :(得分:0)

或者

select a.Value, b.Value
from (select Fieldname, Value, link from theTable) as a
    inner join (select Fieldname, Value, link from theTable) as b on a.link = b.link
where
    a.FieldName > b.FieldName;