在线求助

昨天 2011-11-07 09:16:50
我有一个表以下数据是
日期 水度数 电度数
2011-1-30 30 50
2011-2-28 45 60
2011-3-30 50 70

我要得到以下数据
日期 上月水总度数 上月电总度数 本月水总度数 本月电总度数 本月用水度数 本用用 电度数
2011-2-28 30 50 45 60 45-30=5 60-50= 10
2011-3-30 50-45-5 70-60=10
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wfkmu 2011-11-07
  • 打赏
  • 举报
回复
datediff(mm,a.日期,b.日期)=1
这个语句是什么意思?
中国风 2011-11-07
  • 打赏
  • 举报
回复
--> --> (Roy)生成測試數據

if not object_id('Tempdb..#T') is null
drop table #T
Go
Create table #T([日期] Datetime,[水度数] int,[电度数] int)
Insert #T
select '2011-1-30',30,50 union all
select '2011-2-28',45,60 union all
select '2011-3-30',50,70
Go
Select
日期=a.日期,
上月水总度数=b.[水度数],
上月电总度数=b.[电度数],
本月水总度数=a.[水度数],
本月电总度数=A.[电度数],
本月用水度数=a.[水度数]-ISNULL(b.[水度数],0),
本月用电度数=a.[电度数]-isnull(b.[电度数],0)
from #T as a
left join #T as b on MONTH(a.[日期])=MONTH(b.[日期])+1
where a.[日期]>='20110201'

-->

/*
日期 上月水总度数 上月电总度数 本月水总度数 本月电总度数 本月用水度数 本月用电度数
2011-02-28 00:00:00.000 30 50 45 60 15 10
2011-03-30 00:00:00.000 45 60 50 70 5 10
*/
iymmgd 2011-11-07
  • 打赏
  • 举报
回复
航专列
-晴天 2011-11-07
  • 打赏
  • 举报
回复
create table tb(日期 datetime,水度数 int,电度数 int)
insert into tb select '2011-1-30',30,50
insert into tb select '2011-2-28',45,60
insert into tb select '2011-3-30',50,70
go
select b.日期,a.水度数 as 上月水总度数,a.电度数 as 上月电总度数,
b.水度数 as 本月水总度数,b.电度数 as 本月电总度数,
b.水度数-a.水度数 as 本月用水度数,b.电度数-a.电度数 as 本月用电度数
from tb a inner join tb b on datediff(mm,a.日期,b.日期)=1
/*
日期 上月水总度数 上月电总度数 本月水总度数 本月电总度数 本月用水度数 本月用电度数
----------------------- ----------- ----------- ----------- ----------- ----------- -----------
2011-02-28 00:00:00.000 30 50 45 60 15 10
2011-03-30 00:00:00.000 45 60 50 70 5 10

(2 行受影响)

*/
go
drop table tb

--小F-- 2011-11-07
  • 打赏
  • 举报
回复
select
b.日期,
a.水度数 as 上月水总度数,
a.电度数 as 上月电总度数,
b.水度数 as 上月水总度数,
b.电度数 as 上月电总度数,
b.水度数-a.水度数 as 本月用水度数,
b.电度数-a.电度数 as 本用用电度数
from
tb a,tb b
where
datediff(mm,a.日期,b.日期)=1

bancxc 2011-11-07
  • 打赏
  • 举报
回复
航专列/

34,587

社区成员

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

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