Pages - Menu

2019年11月18日 星期一

[T-SQL]PIVOT快速使用

前言

太久沒寫pivot,實在都快忘記怎麼寫了。

正文


PIVOT,轉置矩陣用。
當然你也可以轉成excel後,用VLOOKUP去做。
沒什麼不好,重點是結果。

今天要把value裡面的欄位根據後面的參數 轉成欄位名稱(Fig. 1)



(Fig. 1)

將轉置後欄位名稱改成中文(Fig. 2)


select WTPartNumber,name 品名,[68592] as  英文品名,[68604] as  規格,[68594] as  材質
from (
select A1.WTPartNumber,A1.name ,A2.value,A2.idA3A6
.....
 and A2.idA3A6 in ('68592','68604','68594')) t
 pivot (max(value) FOR idA3A6 IN ([68592],[68604],[68594])) p;




(Fig. 2)

從idA3A6的欄位裡面,找出68592,68604,68954的值,變成欄位名稱,
再把max(value)的值填入到68592,68604,68954的欄位裡面,

沒有留言:

張貼留言