CREATE TABLE #T(貨單編號 VARCHAR(10),工序編號 VARCHAR(3),工序部門 VARCHAR(3))
INSERT #T
SELECT   'TMS1056AD',    '01',         'A-a'  
UNION ALL SELECT 'TMS1056AD',    '02',         'B-a'  
UNION ALL SELECT 'TMS1056AD',    '03',         'C-a'  
UNION ALL SELECT 'TMS1056AD',    '04',         'E-a'   
UNION ALL SELECT 'TMS1056AD',    '05',         'G-a'
UNION ALL SELECT 'TMS1056AD',    '06',         'D-a'
UNION ALL SELECT 'TMS1058AD',    '06',         'A-a'    
UNION ALL SELECT 'TMS1058AD',    '07',         'D-a'    
UNION ALL SELECT 'TMS1058AD',    '08',         'F-a'SELECT * FROM #T-- 查询语句开始
declare @sql varchar(8000)
set @sql='select 貨單編號'
select @sql= @sql+ ',min(case when 工序編號 = ''' + 工序編號 + ''' then 工序部門 end) [' + 工序編號 + ']' from (select distinct 工序編號 from #T) a
set @sql=@sql+' from #T group by 貨單編號'
exec (@sql)
drop table #T
/*
貨單編號       工序編號 工序部門 
---------- ---- ---- 
TMS1056AD  01   A-a
TMS1056AD  02   B-a
TMS1056AD  03   C-a
TMS1056AD  04   E-a
TMS1056AD  05   G-a
TMS1056AD  06   D-a
TMS1058AD  06   A-a
TMS1058AD  07   D-a
TMS1058AD  08   F-a(所影响的行数为 9 行)貨單編號       01   02   03   04   05   06   07   08   
---------- ---- ---- ---- ---- ---- ---- ---- ---- 
TMS1056AD  A-a  B-a  C-a  E-a  G-a  D-a  NULL NULL
TMS1058AD  NULL NULL NULL NULL NULL A-a  D-a  F-a
*/