请教一个sql语句

snower01 2007-06-18 04:03:34
在数据库中字段如下:
id 时间 数值1 数值2 合计
1 2007-6 5 4 9
2 2007-5 3 7 10
怎样通过一句sql,将数据显示为
5月 6月 合计
10 9 19
谢谢
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
snower01 2007-06-18
  • 打赏
  • 举报
回复
在数据库中字段如下(access):
id t_name 时间 数值1 数值2 合计
1 a 2007-6 5 4 9
2 a 2007-5 3 7 10
3 b 2007-6 6 6 12
4 b 2007-5 7 7 14

怎样通过一句sql,将数据显示为
姓名 5月 6月 合计
a 10 9 19
b 14 12 26
谢谢
TeEvil 2007-06-18
  • 打赏
  • 举报
回复
Create Table TEST
(A int,
B int,
C As A+B
)
Go
Insert INTO TEST
Values(1,3)
Go
Select C FROM TEST
Go

根本不用计算, C已经背定义成了计算列.
TeEvil 2007-06-18
  • 打赏
  • 举报
回复
设计表的时候应该把表合计列设计成"计算列"
如下
..............
合计 Int as 数值1+数值2
...............
实际计算列是不存储数据的,只有查询的时候才计算出满足条件的结果集.
lishijie910123 2007-06-18
  • 打赏
  • 举报
回复
你这涉及到行列转化的问题,请问你用的是access数据库还不是SQLSERVER,
如果是access他有自代的行列转化功能,如果是SQLSERVER就很麻烦了
purplecalm 2007-06-18
  • 打赏
  • 举报
回复
select first.合计 as '5月', second.合计 as '6月', (first.合计+second.合计) as 合计 from
(select * from your_table_name where 时间='2007-6') as first,
(select * from your_table_name where 时间='2007-7') as second
snower01 2007-06-18
  • 打赏
  • 举报
回复
如果统计全年每个月的数据,也太麻烦了吧
hjx398 2007-06-18
  • 打赏
  • 举报
回复
select (select c2+c3 from test3 where c1='2007-5')as 五月,(select c2+c3 from test3 where c1='2007-6')as 六月
,(select SUM(c4) from test3) as 合计

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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