declare@sqlText nvarchar(2000)
select @sqlText='select FItemID,' select @sqlText=@sqltext+'(CASE FName WHEN '''+FName+''' THEN FAuxQty ELSE 0 END) AS '''+FName+ ''','from (selectdistinct FName from test) as a
select @sqlText=left(@sqlText,Len(@sqlText)-1)+',FStockID,FDeptID from test' print @sqltext
exec(@sqlText)
go