with cte1 as (select qty, case when type like 'bms%' then 1 else 2 end as type from (select * from my_type unpivot (qty for type in (BMS_volt01,BMS_volt02,BMS_volt03,BMS_volt04,stp_volt01,stp_volt02,stp_volt03 ,stp_volt04)) as p) as t) select n,[1] as 值1,[2] as 值2 from (select qty,TYPE, row_number()over(partition by type order by type)as n from cte1 ) as t pivot (min(qty) for type in ([1],[2])) as p