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

SQL क्वेरी केवल दो कॉलम में परिणाम प्राप्त करने के लिए

आप UNPIVOT<का उपयोग कर सकते हैं /कोड> स्तंभों को पंक्तियों में बदलने का कार्य:

select id, value
from yourtable
unpivot
(
  value
  for col in ([fName], [lName], [Address], [PostCode], [ContactNumber])
) unpiv

देखें SQL Fiddle with Demo

अनपिवट सभी स्तंभों पर समान होने के लिए डेटाटाइप की आवश्यकता होगी। तो आपको एक कास्ट करना पड़ सकता है /रूपांतरित करें इसके समान विभिन्न डेटाटाइप वाले किसी भी कॉलम पर:

select id, value
from
(
  select id, [fName], [lName], [Address], [PostCode],
    cast([ContactNumber] as varchar(15)) [ContactNumber]
  from yourtable
) src
unpivot
(
  value
  for col in ([fName], [lName], [Address], [PostCode], [ContactNumber])
) unpiv;

देखें SQL Fiddle with Demo

SQL Server 2008 से शुरू होकर, इसे CROSS APPLY . का उपयोग करके भी लिखा जा सकता है VALUES . के साथ :

select t.id,
  c.value
from yourtable t
cross apply
(
  values(fName), 
    (lName), 
    (Address), 
    (PostCode), 
    (cast(ContactNumber as varchar(15)))
) c (value)

देखें SQL Fiddle with Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सक्रिय परिणाम में MS SQL के साथ PDO का उपयोग करने वाली कोई फ़ील्ड नहीं है

  2. तालिका परिवर्तन के लिए SQL सर्वर प्रदर्शन स्तंभ परिवर्तन डेटा प्रकार बदलता है

  3. संग्रहीत प्रक्रिया में पैरामीटर के रूप में डीईएससी और एएससी

  4. SQL सर्वर में मौजूदा SQL सर्वर तालिका से बैकअप या नई तालिका कैसे बनाएं - SQL सर्वर / TSQL ट्यूटोरियल भाग 105

  5. SQL क्वेरी - क्वेरी में दिनांक स्वरूप को DD/MM/YYYY में बदलें