Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

तीन कॉलम SQL PIVOT

कुछ इस तरह का प्रयास करें:

DECLARE @myTable AS TABLE([ID] INT, [Field] VARCHAR(20), [Value] VARCHAR(20))
INSERT INTO @myTable VALUES ('1', 'year', '2011')
INSERT INTO @myTable VALUES ('1', 'month', 'August')
INSERT INTO @myTable VALUES ('2', 'year', '2009')
INSERT INTO @myTable VALUES ('1', 'day', '21')
INSERT INTO @myTable VALUES ('2', 'day', '31')
INSERT INTO @myTable VALUES ('2', 'month', 'July')
INSERT INTO @myTable VALUES ('3', 'year', '2010')
INSERT INTO @myTable VALUES ('3', 'month', 'January')
INSERT INTO @myTable VALUES ('3', 'day', NULL)

SELECT [ID], [year], [month], [day]
FROM
(
      SELECT [ID], [Field], [Value] FROM @myTable
) t
PIVOT
(
    MIN([Value]) FOR [Field] IN ([year], [month], [day]) 
) AS pvt
ORDER BY pvt.[year] DESC

जिसके परिणाम सामने आएंगे:

ID  year    month   day
1   2011    August  21
3   2010    January NULL
2   2009    July    31


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आप टेबल-वैल्यू फ़ंक्शन का उपयोग कब करेंगे?

  2. संलग्न .mdf डेटाबेस का उपयोग करने के लिए Web.config में DB कनेक्शन स्ट्रिंग काम नहीं करेगी

  3. SQL सर्वर में SELECT से UPDATE का उपयोग कैसे करें

  4. .NET 3.5 में डेटटाइम क्रमांकन के लिए सर्वोत्तम अभ्यास

  5. मौजूदा SQL सर्वर एजेंट जॉब (T-SQL) में जॉब स्टेप जोड़ें