2009-02-25 17 views
8

मैं इसT-SQL - पंक्तियों और स्तंभों

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

की तरह एक resultset संरचना है स्वैप करने के लिए कैसे और मैं इस के लिए प्राप्त करना चाहते हैं: एसक्यूएल का उपयोग कर

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

। क्या इसे करने का कोई तरीका है? धन्यवाद!

उत्तर

13
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' 
+1

+1 आह, आत्म में शामिल होने का उपयोग करें ... – Sung

6

यह हमेशा इस तरह के एक घर का काम पूर्व एसक्यूएल सर्वर था 2005

अब मैं PIVOT/UNPIVOT

0
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' 
संबंधित मुद्दे