簡體   English   中英

帶列值的T-SQL Unpivot

[英]T-SQL Unpivot with column values

我有一個如下表:

檢查 帳單總計| D1 | D2 | D3 | D4 | D5 |

 1 100 10 2 2 50 10 5 7 

D1-D5代表不同的折扣類型,如何獲得以下折扣?

檢查 帳單總計| 折扣類型| 折扣|

 1 100 D1 10 1 100 D3 2 2 100 D1 10 2 100 D4 5 2 100 D5 7 

非常感謝。

請檢查unpivot示例:

CREATE TABLE #pvt (VendorID int, Emp1 int, Emp2 int, Emp3 int, Emp4 int, Emp5 int);

INSERT INTO #pvt VALUES (1,4,3,5,4,4);
INSERT INTO #pvt VALUES (2,4,1,5,5,5);
INSERT INTO #pvt VALUES (3,4,3,5,4,4);
INSERT INTO #pvt VALUES (4,4,2,5,5,4);
INSERT INTO #pvt VALUES (5,5,1,5,5,5);

select * from #pvt

--Unpivot the table.
SELECT VendorID, Employee, Orders
FROM 
   (SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
   FROM #pvt) p
UNPIVOT
   (Orders FOR Employee IN 
      (Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;

drop table #pvt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM