日期:2014-05-18  浏览次数:20503 次

请高手解决SQL难题!!
第一题目:
有如下表,分别记录了“张三”每天消费的情况。其中,消费类型只有3种:1   买香烟   2   加油   3   吃饭  

-------------------------------------------------
时间     |   消费类型   |   消费金额   |
-------------------------------------------------
2006-1-1   |   1     |   10.00     |
-------------------------------------------------
2006-1-1   |   2     |   200.00   |
-------------------------------------------------
2006-1-1   |   1     |   12.00     |
-------------------------------------------------
2006-1-1   |   3     |   12.00     |
-------------------------------------------------
2006-1-2   |   1     |   11.00     |
-------------------------------------------------
2006-1-2   |   3     |   107.00   |
-------------------------------------------------
2006-1-3   |   1     |   17.00     |
-------------------------------------------------
2006-1-3   |   3     |   17.00     |
-------------------------------------------------
2006-1-4   |   1     |   10.00     |
-------------------------------------------------
.........  

请从上表用   “一句组合查询”   查询出每日消费统计表,要求检索出的内容格式如下:
-------------------------------------
年   |   月   |   日   |   买香烟   |   加油     |   吃饭     |
-------------------------------------
2006   |   1   |   1   |   22.00     |   200.00   |   12.00     |
-------------------------------------
2006   |   1   |   2   |   11.00     |   0.00     |   107.00   |
-------------------------------------
2006   |   1   |   3   |   17.00     |   0.00     |   17.00     |
-------------------------------------
2006   |   1   |   4   |   10.00     |   0.00     |   0.00     |
-------------------------------------  

请执行下列语句生成:  

create   table   CostList   (时间   datetime,   消费类型   int,   消费金额   money)
insert   into   CostList   values   ( '2006-1-1 ',   1,   10)
insert   into   CostList   values   ( '2006-1-1 ',   2,   200)
insert   into   CostList   values   ( '2006-1-1 ',   1,   12)
insert   into   CostList   values   ( '2006-1-1 ',   3,   12)
insert   into   CostList   values   ( '2006-1-2 ',   1,   11)
insert   into   CostList   values   ( '2006-1-2 ',   3,   107)
insert   into   CostList   values   ( '2006-1-3 ',   1,   17)
insert   into   CostList   values   ( '2006-1-3 ',   3,   17)
insert   into   CostList   values   ( '2006-1-4 ',   1,   10)
GO  

(请调试通过并结果正确,请注意语句的性能)
===================================================  

第2题: