首頁 >資料庫 >mysql教程 >如何在 SQL Server 中同時透視多個欄位(銷售額、庫存、目標)?

如何在 SQL Server 中同時透視多個欄位(銷售額、庫存、目標)?

Susan Sarandon
Susan Sarandon原創
2025-01-02 13:40:38143瀏覽

How to Pivot Multiple Columns (Sales, Stock, Target) Simultaneously in SQL Server?

如何在SQL Server 中透視多個欄位

問題:

問題:

假設您有>假設一個表格,其中的欄位表示項目類別(例如面板、AC、參考)和數據,例如銷售額、庫存和目標。您希望將此資料轉換為透視格式,其中類別成為行,列保存每個類別(銷售、庫存、目標)的相應資料。

解決方案:
SELECT
*
FROM
(
  SELECT 
   Branch,
   Category,
   Category+'1' As Category1,
   Category+'2' As Category2,
   Sales, 
   Stock, 
   Target
  FROM TblPivot
 ) AS P

-- For Sales
 PIVOT
 (
   SUM(Sales) FOR Category IN ([Panel], [AC], [Ref])
 ) AS pv1

-- For Stock
 PIVOT
 (
   SUM(Stock) FOR Category1 IN ([Panel1], [AC1], [Ref1])
 ) AS pv2

-- For Target
 PIVOT
 (
   SUM(Target) FOR Category2 IN ([Panel2], [AC2], [Ref2])
 ) AS pv3
 GO

為了實現這一點,您可以在 SQL 中使用多個 Pivot語句伺服器:

  1. 解釋:
  2. 內部SELECT:從原始表中取得必要的數據,包括分支名稱和未經清理的類別名稱。
  3. 列重新命名:使用後綴(「1」和「2」)重新命名類別列,以方便後續透視。
  4. 第一個透視(pv1):銷售列的透視,分組依類別劃分的資料。
  5. 第二個資料透視點(pv2): 使用新重命名的類別欄位(例如,Panel1)對股票欄位進行透視。

第三個透視 (pv3):

使用新命名的類別列對目標列進行透視重命名類別列(例如,Panel2)。 一旦旋轉完成後,您可以根據需要聚合結果或執行進一步的資料操作。

以上是如何在 SQL Server 中同時透視多個欄位(銷售額、庫存、目標)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn