當前位置:首頁 » 編程語言 » 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 )