题又变啦,高手快来啊

ys_pqy 2009-09-02 11:07:33
create table ttt
(产地 char(8),水果 char(8),重量 int,年份 datetime )
insert ttt values('北方','香蕉',3,'2007-1-2')
insert ttt values('北方','水蜜桃',2,'2008-2-3')
insert ttt values('南方','桔子',3,'2007-2-3')
insert ttt values('北方','水蜜桃',5,'2007-2-3')
insert ttt values('南方','香蕉',3,'2008-2-3')
insert ttt values('南方','水蜜桃',6,'2008-2-3')
insert ttt values('北方','桔子',8,'2007-12-21')
select * from ttt

结果:

产地 水果 重量 年份
-------- -------- ----------- ------------------------------------------------------
北方 香蕉 3 2007-01-02 00:00:00.000
北方 水蜜桃 2 2008-02-03 00:00:00.000
南方 桔子 3 2007-02-03 00:00:00.000
北方 水蜜桃 5 2007-02-03 00:00:00.000
南方 香蕉 3 2008-02-03 00:00:00.000
南方 水蜜桃 6 2008-02-03 00:00:00.000
北方 桔子 8 2007-12-21 00:00:00.000

(所影响的行数为 7 行)

要求显示格式为
产地 | 水果 | 07年重量 | 08年重量

按产地、水果排序,每个产地要有小计,表尾有总计。

参考:昨天那题是
...全文
112 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
t240034137 2009-09-02
  • 打赏
  • 举报
回复
第一个ID 是我加进去的作为主键的!
t240034137 2009-09-02
  • 打赏
  • 举报
回复

1.
select
产地,
水果,
(select 重量 from ttt where year(年份)='2007' and id=a.id)as '07年重量',
(select 重量 from ttt where year(年份)='2008' and id=a.id)as '08年重量'
from ttt a
2.
select
产地,
水果,
(case when year(年份)='2007' then 重量 else 0 end )as '07年重量',
(case when year(年份)='2008' then 重量 else 0 end )as '08年重量'
from ttt


2种方法
guguda2008 2009-09-02
  • 打赏
  • 举报
回复
帮顶0分帖
ys_pqy 2009-09-02
  • 打赏
  • 举报
回复
高手都回家吃饭啦,我下午重新发帖吧
playwarcraft 2009-09-02
  • 打赏
  • 举报
回复
那你可以学习一下 with rollup 的用法了,book online上仔細研究
ys_pqy 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 josy 的回复:]
楼主应该学会举一反三,否则永远只能等别人给代码

你的需求,最简单的做法就是统计后,用union all联合起来
[/Quote]
这题与原题差很多,我本来用的内存表,不过太麻烦,我觉得高手有更好的过程,你好像没看懂题吧
ys_pqy 2009-09-02
  • 打赏
  • 举报
回复
我当然知道,前面两道题,我都认真做过啦,你们看到第二题,我总结出最佳答案吗,还学习了charindex()

而这个题与前面有很大不同,其实这才是原题那一道。
ys_pqy 2009-09-02
  • 打赏
  • 举报
回复
where 年份 between '2007-1-1' and '2007-12-31'
百年树人 2009-09-02
  • 打赏
  • 举报
回复
楼主应该学会举一反三,否则永远只能等别人给代码

你的需求,最简单的做法就是统计后,用union all联合起来
ys_pqy 2009-09-02
  • 打赏
  • 举报
回复
这是个狗屁帖子
victorcai2006 2009-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 guguda2008 的回复:]
帮顶0分帖
[/Quote]

……蛋贴

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧