T-SQL - как поменять местами строки и столбцы

У меня есть такая структура набора результатов

ID       Value      Name
1       Oranges     Reponse
1       42      Count
2       Apples      Reponse
2       65      Count
3       Figs        Reponse
3       74      Count

и я хочу добраться до этого:

ID     Response       Count
1       Oranges     42
2       Apples      65
3       Figs        74 

используя SQL. Есть ли способ сделать это? Благодарность!

Ответов (3)

Решение
SELECT a.ID, a.Value AS [Response], b.Value AS [Count]
FROM your_table AS a
    INNER JOIN your_table AS b
        ON a.ID = b.ID
WHERE a.Name = 'Response'
    AND b.Name = 'Count'

это всегда было такой рутинной работой до SQL Server 2005.

теперь я использую PIVOT / UNPIVOT

SELECT A.ID, A.VALUE RESPONSE, C.VALUE COUNT 
FROM _table  A 
INNER JOIN (
  SELECT ID, VALUE, NAME 
  FROM _table 
  WHERE _table.Name = 'Count'
) C ON A.ID = C.ID
WHERE A.NAME='Response' and C.NAME='Count'