以下SQL语句在SQL Server 2005下测试通过:SELECTDISTINCT A, '一仓' = CASE WHEN (SELECT C FROM Table1 t2 WHERE t2.A = t1.A AND t2.B = '一仓')IS NULL THEN 0 ELSE (SELECT C FROM Table1 t2 WHERE t2.A = t1.A AND t2.B = '一仓') END,'二仓' = CASE WHEN (SELECT C FROM Table1 t2 WHERE t2.A = t1.A AND t2.B = '二仓')IS NULL THEN 0 ELSE (SELECT C FROM T
SQL Server 2005支持旋转运算符pivotselect A,isnull([一仓],0) as [一仓], isnull([二仓],0) as [二仓], isnull([三仓],0) as [三仓]from tablenamepivot( sum(C) for B in ([一仓], [二仓], [三仓])) pvt
select A,isnull(sum(case when B='一仓' then C else 0 end),0) as 一仓,isnull(sum(case when B='二仓' then C else 0 end),0) as 二仓,isnull(sum(case when B='三仓' then C else 0 end),0) as