急需:列转行问题

数据类型:mh(int),dth(smallint),zzcj,numeric(6,2)
求教语句,谢谢,
[解决办法]
declare @sql nvarchar(1000)
select @sql=isnull(@sql,'')+',max(case when dth='+rtrim(dth)+' then zzcj else 0 end)['+rtrim(dth)+']' from (select distinct dth from tb)t
exec('select mh'+@sql+' from tb group by mh')