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

एकाधिक स्तंभों के साथ SQL सर्वर गतिशील धुरी

संग्रहीत कार्यविधि के उपयोग के बिना एक अधिक वर्बोज़ गतिशील SQL क्वेरी इस प्रकार है:

DECLARE @cols AS NVARCHAR(MAX);
DECLARE @pivotSales AS NVARCHAR(MAX);
DECLARE @sql AS NVARCHAR(MAX);

SELECT @cols = ISNULL(@cols + ', ', '') + QUOTENAME(Country)
FROM (SELECT DISTINCT Country FROM tbl1) AS Countries

SET @pivotSales = N'SELECT IssuedOn, ' + @cols +'
FROM (SELECT IssuedOn, Country, Sales FROM tbl1) AS sales
PIVOT(SUM(Sales) FOR Country IN (' + @cols + ')) AS pvt';

SET @sql = ';WITH CTE_SalesPivot AS (
'[email protected]+'
),
CTE_SalesTotal AS (
  SELECT IssuedOn, SUM(Sales) AS [Grand Total]
  FROM tbl1
  GROUP BY IssuedOn
),
CTE_Transactions AS (
  SELECT IssuedOn, SUM(Transactions) AS [Transaction Count]
  FROM tbl1
  GROUP BY IssuedOn
)
SELECT CTE_SalesPivot.IssuedOn, ' + @cols + ', CTE_SalesTotal.[Grand Total], CTE_Transactions.[Transaction Count]
FROM
CTE_SalesPivot
INNER JOIN CTE_SalesTotal ON CTE_SalesPivot.IssuedOn = CTE_SalesTotal.IssuedOn
INNER JOIN CTE_Transactions ON CTE_SalesPivot.IssuedOn = CTE_Transactions.IssuedOn';

EXEC sp_executesql @sql;



  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. UWP ऐप को दूरस्थ SQL Server 2008 प्रदाता से कनेक्ट करना:TCP प्रदाता, त्रुटि:0

  3. SQL सर्वर इंडेक्स फ़्रेग्मेंटेशन को ठीक करने के लिए टिप्स

  4. मैं उन सभी संग्रहीत कार्यविधियों का पता कैसे लगा सकता हूँ जो रिकॉर्ड सम्मिलित करते हैं, अद्यतन करते हैं या हटाते हैं?

  5. SQL सर्वर 2005 क्वेरी को CSV में कैसे निर्यात करें