求一我认为不好写的SQL语句?SQL语句高手请进

efengxu 2006-02-24 11:34:02
表1: 用户 类型编号 时间 读数
001 11 06-1-2 25
001 1 06-1-3 43
表2: 类型编号 类型 单价
1 类型1 2
2 类型2 4

查询结果:
用户 起始时间 终止时间 读数1 读数2 用量(读数2-读数1) 费用(据类型取得单价)
001 06-1-2 06-1-3 25 43 43-25 (43-25)*2
...全文
57 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
efengxu 2006-02-24
难道SQL高手都去吃饭了啊??
回复
efengxu 2006-02-24
表1: 用户 类型编号 时间 读数
001 1 06-1-2 25
001 1 06-1-3 43
回复
feiyun0112 2006-02-24
select a.用户,a.起始时间,b.终止时间,a.读数1,b.读数2
,(b.读数2-a.读数1) as 用量,(b.读数2-a.读数1)*c.单价 as 费用
from
(
select a.用户,a.类型编号,a.时间 as 起始时间,a.读数 as 读数1 from 表1 a
inner join (select 用户,类型编号,min(时间) as 时间 from 表1 group by 用户,类型编号) a1
on a.用户=a1.用户 and a.类型编号=a1.类型编号 and a.时间=a1.时间
) a
inner join
(
select a.用户,a.类型编号,a.时间 as 终止时间,a.读数 as 读数2 from 表1 a
inner join (select 用户,类型编号,max(时间) as 时间 from 表1 group by 用户,类型编号) a1
on a.用户=a1.用户 and a.类型编号=a1.类型编号 and a.时间=a1.时间
) b
on a.用户=b.用户 and a.类型编号=b.类型编号
inner join 表2 c on a.类型编号=c.类型编号
回复
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2006-02-24 11:34
社区公告
暂无公告