小弟我要用sql语句查询出以下效果,请教sql语句要怎样写

我要用sql语句查询出以下效果,请问sql语句要怎样写?
表结构如下:
领用日期    物品名称 规格   单价   数量 领用人
2014-01-01    U盘      32G   35           1      张三
2015-01-01    U盘      64G   30           2      张三
2014-02-01    U盘      32G     35           3      李四
2015-02-01    硬盘      500G   300         3      李四
后面一至到12月

我要用sql语句查询出以下效果,请问sql语句要怎样写?
物品名称  1月数量 1月金额 2月数量 2月金额  后面一至到12月
U盘         3             95        3            35
硬盘         0             0         3            900
------解决思路----------------------
--动态
DECLARE @SQL VARCHAR(8000)
DECLARE @M INT,@I VARCHAR(10)
SET @SQL='SELECT 物品名称'
SET @M=12
SET @I=1
WHILE @I<=@M
SELECT @SQL=@SQL+',SUM(CASE WHEN MONTH(领用日期)='+@I+' THEN 数量 END)['+@I+'月数量]'
+',SUM(CASE WHEN MONTH(领用日期)='+@I+' THEN 单价*数量 END)['+@I+'月金额]',@I=@I+1
SET @SQL=@SQL+'FROM TB GROUP BY 物品名称'
--PRINT @SQL
EXEC(@SQL)
--静态
SELECT 物品名称
,SUM(CASE WHEN MONTH(领用日期)=1 THEN 数量 END)[1月数量],SUM(CASE WHEN MONTH(领用日期)=1 THEN 单价*数量 END)[1月金额]
,SUM(CASE WHEN MONTH(领用日期)=2 THEN 数量 END)[2月数量],SUM(CASE WHEN MONTH(领用日期)=2 THEN 单价*数量 END)[2月金额]
,SUM(CASE WHEN MONTH(领用日期)=3 THEN 数量 END)[3月数量],SUM(CASE WHEN MONTH(领用日期)=3 THEN 单价*数量 END)[3月金额]
,SUM(CASE WHEN MONTH(领用日期)=4 THEN 数量 END)[4月数量],SUM(CASE WHEN MONTH(领用日期)=4 THEN 单价*数量 END)[4月金额]
,SUM(CASE WHEN MONTH(领用日期)=5 THEN 数量 END)[5月数量],SUM(CASE WHEN MONTH(领用日期)=5 THEN 单价*数量 END)[5月金额]
,SUM(CASE WHEN MONTH(领用日期)=6 THEN 数量 END)[6月数量],SUM(CASE WHEN MONTH(领用日期)=6 THEN 单价*数量 END)[6月金额]
,SUM(CASE WHEN MONTH(领用日期)=7 THEN 数量 END)[7月数量],SUM(CASE WHEN MONTH(领用日期)=7 THEN 单价*数量 END)[7月金额]
,SUM(CASE WHEN MONTH(领用日期)=8 THEN 数量 END)[8月数量],SUM(CASE WHEN MONTH(领用日期)=8 THEN 单价*数量 END)[8月金额]
,SUM(CASE WHEN MONTH(领用日期)=9 THEN 数量 END)[9月数量],SUM(CASE WHEN MONTH(领用日期)=9 THEN 单价*数量 END)[9月金额]
,SUM(CASE WHEN MONTH(领用日期)=10 THEN 数量 END)[10月数量],SUM(CASE WHEN MONTH(领用日期)=10 THEN 单价*数量 END)[10月金额]
,SUM(CASE WHEN MONTH(领用日期)=11 THEN 数量 END)[11月数量],SUM(CASE WHEN MONTH(领用日期)=11 THEN 单价*数量 END)[11月金额]
,SUM(CASE WHEN MONTH(领用日期)=12 THEN 数量 END)[12月数量],SUM(CASE WHEN MONTH(领用日期)=12 THEN 单价*数量 END)[12月金额]
FROM TB GROUP BY 物品名称