当前位置:首页 » 编程语言 » sql取两个值作差
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql取两个值作差

发布时间: 2022-09-27 16:56:16

❶ 求高手给写一条sql语句,返回两个表中的两条数据之差

不知道你什么数据库.
如果
Oracle
,
倒是很省事。
创建一个序列号,
2个表共用。
A表插入的时候,取
下一个序列号,
B表插入的时候,取当前序列号。
如果是
SQL
Server
或者
MySQL
这种,用数据库系统自增的。
就自己控制好,别插入一条A,再插入两条B这种情况发生。
不过如果发生异常,还是会导致不匹配的。
例如首先插入A,
某些
Check
没通过,数据没插入,但是那个自增的ID可能被递增了。
想返回表A中最大的id和表B中最大的id的差值
倒是很简单
SELECT
MAX(A.id)
-
MAX(B.id)
AS
差值
FROM
A
FULL
JOIN
B
ON
(A.id
=
B.id)

❷ sql中怎么计算两列的差

假设A列B列都是数值型
select (A-B) as 差 from 表

假设A列B列都是字符型或转换成字符型
select replace(A,B,'') as 差 from 表

❸ 如何用SQL语句从两个表中提取指定列的差值

首先你的语句没有语法错误,你的意思应该是计算出来的结果与实际不符吧?
因为:
你没有定义两表连接的条件,所以两表连接后的结果可能不是你期待的结果
例如两表都是以id作为连接条件:
select sum(inmoneys.money)- sum(outmoneys.money) as total
from outmoneys,inmoneys
where outmoneys.id = inmoneys.id
------
如果两表没有对应关系,换句话说是没有连接条件,那么只能写成:
select(select sum(money) from inmoneys)-(select sum(money) from outmoneys)as total

❹ 急救!!!用SQL语句怎么求两个数据之间的差

直接用<%=rs("summoney")-rsls("summoney")%>不就成了,不是非得用sql吧

❺ 刚学数据库,求sql两个表数据之间求差怎么写

select a.[名称],a.[数量]-ISNULL(b.[数量],0)
from table1 a left outer join table2 b
ON a.[名称]= b.[名称]
UNION
Select b.[名称],-b.[数量]
from table2 b
where not exists(Select a.[名称] from table 1 a where a.[名称]=b.[名称])

❻ 在Sql语句中怎样计算出两个日期的差值

sql语句中计算两个日期的差值用datediff函数。

工具:sqlserver 2008 R2

步骤:

1、计算2009-06-23与2009-06-17之间的天数。语句如下:

selectdatediff(d,'2009-06-17','2009-06-23')

2、查询结果:

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

工具/材料:Management Studio。

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

❽ 求助:sql取两个查询语句的差集

sqlserver是except

select*fromtawherecol1=xxx
except
select*fromtawherecol2=yyy;


oracle是minus

select*fromtawherecol1=xxx
minus
select*fromtawherecol2=yyy;

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

--> 测试数据:[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 行受影响)*/

❿ 如何用SQL实现两列值的差

用 DATEDIFF 函数就可以,不过类型必须是datetime类型的,如果不是,你就转换一下。

DATEDIFF ( datepart , startdate , enddate )