sql语句如何查询两个值之间的差?

如已有一个数量表ID日期数量12009-1-11022009-1-21232009-1-313如何生成一个视图能实现以下查询?ID日期数量增加额12009-1-110nu... 如已有一个数量表ID  日期   数量1  2009-1-1  102  2009-1-2 123 2009-1-3 13如何生成一个视图能实现以下查询?ID  日期   数量  增加额1  2009-1-1  10  null2  2009-1-2 12 23 2009-1-3 13 1即查询每天的增加额 展开
 我来答
仁昌爱娱乐
高粉答主

2020-01-08 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459812

向TA提问 私信TA
展开全部

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

2、然后在该界面中,点击左上角“新建查询”选项。

3、之后在该界面中,输入SQL语句“select MoneyA - MoneyB from test;”。

4、最后在该界面中,显示两个值之间的差。

freechan10
2019-11-13 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.5万
展开全部

1、创建表,

create table test_date(id number, v_date date, cnt number);

2、插入测试数据,

insert into test_date values(3, to_date(20190103,'yyyymmdd'), 13);

insert into test_date values(2, to_date(20190102,'yyyymmdd'), 12);

insert into test_date values(1, to_date(20190101,'yyyymmdd'), 10);

commit;

3、查询表中记录;select * from test_date ;

4、编写sql,实现所需目标;

select t.*, t.cnt - b.cnt as minus_cnt  from test_date t, test_date b where t.v_date - b.v_date(+) = 1 order by t.id

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知道小爷
2017-07-07 · TA获得超过1489个赞
知道小有建树答主
回答量:368
采纳率:83%
帮助的人:23万
展开全部

sql中查询两个值之间的差直接用“-”(即减号)即可。

工具:SqlServer 2008 R2

步骤:

1、分别计算10-1,20.5-10.3,1-3,9-9(即分别计算整数中大数减小数、小数之间的相减,整数中小数减大数、整数减自己本身)

2、语句分别如下:

10-1

select 10-1

20.5-10.3

select 20.5-10.3


1-3

select 1-3


9-9

select 9-9

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-09
展开全部
--> 测试数据:[tb]
if object_id('[tb]') is not null
drop table [tb]
go
create table [tb]([ID] int,[日期] datetime,[数量] int)
insert [tb]
select 1,'2009-1-1',10 union all
select 2,'2009-1-2',12 union all
select 3,'2009-1-3',13
go--1 测试
select a.[ID],a.[日期],a.[数量],增加额=isnull(a.[数量]-b.[数量],0) ------建议把null 替换为 0
from [tb] a
left join [tb] b
on a.id=b.id+1 /*
ID 日期 数量 增加额
----------- ----------------------- ----------- -----------
1 2009-01-01 00:00:00.000 10 0
2 2009-01-02 00:00:00.000 12 2
3 2009-01-03 00:00:00.000 13 1(3 行受影响)*/
--2 使用视图
create view v
as
select a.[ID],a.[日期],a.[数量],增加额=a.[数量]-b.[数量]
from [tb] a
left join [tb] b
on a.id=b.id+1 goselect * from v
/*
ID 日期 数量 增加额
----------- ----------------------- ----------- -----------
1 2009-01-01 00:00:00.000 10 NULL
2 2009-01-02 00:00:00.000 12 2
3 2009-01-03 00:00:00.000 13 1(3 行受影响)*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神崎橙
2012-09-03 · TA获得超过251个赞
知道小有建树答主
回答量:593
采纳率:0%
帮助的人:337万
展开全部
create view ViewName
as
select A.日期, (A.数量1 - B.数量1) as 增加额1 from 数量表 A,数量表 B
where A.日期= dateadd(dd,1,B.日期)

试下这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式