求一我认为不好写的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
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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.类型编号

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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