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

डेटा सेट खोजने के लिए तालिका के माध्यम से लूप कैसे करें?

आप इसे pivoting . द्वारा आसानी से कर सकते हैं डेटा। इसे दो तरह से किया जा सकता है।

1. Conditional Aggregate का उपयोग करें डेटा को पिवट करने के लिए। pivoting . के बाद आप datediff . पा सकते हैं विभिन्न चरणों के बीच। इसे आजमाएं।

SELECT orderid,Received,Keyed,Printed,Delivered,
       Datediff(minute, Received, Keyed)    TurnTime1,
       Datediff(minute, Keyed, Printed)     TurnTime2,
       Datediff(minute, Printed, Delivered) TurnTime3
FROM  (SELECT OrderID,
              Max(CASE WHEN ActivityID = 1 THEN ActivityDate END) Received,
              Max(CASE WHEN ActivityID = 2 THEN ActivityDate END) Keyed,
              Max(CASE WHEN ActivityID = 3 THEN ActivityDate END) Printed,
              Max(CASE WHEN ActivityID = 4 THEN ActivityDate END) Delivered
       FROM   Yourtable
       GROUP  BY OrderID)A 

2.उपयोग Pivot डेटा स्थानांतरित करने के लिए

SELECT orderid,
       [1]                        AS Received,
       [2]                        AS Keyed,
       [3]                        AS Printed,
       [4]                        AS Delivered,
       Datediff(minute, [1], [2]) TurnTime1,
       Datediff(minute, [2], [3]) TurnTime2,
       Datediff(minute, [3], [4]) TurnTime3
FROM   Yourtable
       PIVOT (Max(ActivityDate)
             FOR ActivityID IN([1],[2],[3],[4]))piv 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक परिणाम सेट में SQL सर्वर के सभी डेटाबेस में सभी तालिकाओं को कैसे सूचीबद्ध करूं?

  2. SQL सर्वर:नवीनतम पंक्तियों का चयन करें जिनका योग किसी मान से मेल खाता है

  3. एंटिटी फ्रेमवर्क 4 टेबल प्रति पदानुक्रम - बच्चों पर नेविगेशनल गुणों को कैसे परिभाषित करें?

  4. तालिका में पंक्तियों के आधार पर वर्णों को एक स्ट्रिंग में बदलना sql

  5. जहां क्लॉज में स्थानीय चर का उपयोग करने का विकल्प