求二个sql语句解决方法

求二个sql语句
一张表
东西     位置    数量
物品A     位置1      1000
物品A     位置2      2000
物品B     位置1      4000
物品B     位置3      1000
物品C     位置2      1500

(位置字段范围是固定的:位置1-位置3)。
一、求得第一个sql语句是要得到下面这样的表:

日期            位置1           位置2                  位置3
系统时间        5000       3500           1000

简单说就是需要统计某个系统时间点每个位置的所有物品的数量。比如原表中位置1中有物品A 1000个和物品B 4000个。所以位置1中总数有1000+4000=5000个。

二、求得第二个sql语句是要得到下面这样的表:

日期           物品A          物品B         物品C  
系统时间       3000            5000          1500

和第一个根据位置统计不同,这里是在某个系统时间点根据每个物品来统计数量。比如原表中物品A在位置1和位置2总共有3000个



谢谢大家!
 
------解决思路----------------------

create table t (东西 varchar(30) , 位置 varchar(30) , 数量 int ) 
insert into t values('物品A', '位置1', 1000)
insert into t values('物品A', '位置2', 2000)
insert into t values('物品B', '位置1', 4000)
insert into t values('物品B', '位置3', 1000)
insert into t values('物品C', '位置2', 1500)
go
select GETDATE() , 
       SUM( case when 位置 = '位置1' then 数量 else 0 end) 位置1 ,
       SUM( case when 位置 = '位置2' then 数量 else 0 end) 位置2 ,
       SUM( case when 位置 = '位置3' then 数量 else 0 end) 位置3 
 from t 
select GETDATE() , 
       SUM( case when 东西 = '物品A' then 数量 else 0 end) 物品A ,
       SUM( case when 东西 = '物品B' then 数量 else 0 end) 物品B ,
       SUM( case when 东西 = '物品C' then 数量 else 0 end) 物品C 
 from t 
go

drop table t 

                      位置1       位置2       位置3
----------------------- ----------- ----------- -----------
2014-12-20 10:42:56.280 5000        3500        1000

(1 行受影响)

                      物品A       物品B       物品C
----------------------- ----------- ----------- -----------
2014-12-20 10:42:56.280 3000        5000        1500

(1 行受影响)