T-SQL - как поменять строки и столбцы - PullRequest
8 голосов
/ 25 февраля 2009

У меня есть структура набора результатов, подобная этой

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 ]

13 голосов
/ 25 февраля 2009
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'
6 голосов
/ 25 февраля 2009

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

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

0 голосов
/ 23 октября 2009
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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...