當前位置:首頁 » 編程語言 » sql兩個查詢取差
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql兩個查詢取差

發布時間: 2022-12-31 22:37:11

『壹』 sql語句實現從根據任意兩個日期查詢,顯示出兩個記錄差

select t1.日期,t1.用戶,(t1.水量-t2.水量) 水量
from
(select * from table where 日期='4月2日') t1
inner join
(select * from table where 日期='3月1日') t2
on t1.用戶=t2.用戶

『貳』 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語句查詢差值

不能這樣寫,這樣改

selecta.dd0-b.dd0from
(selectdd0from[2016001_dddata]wheretimelike'%2016-08-02%')a,
(selectdd0from[2016001_dddata]wheretimelike'%2016-08-01%')b;

『肆』 求高手給寫一條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語句從兩個表中提取指定列的差值

首先你的語句沒有語法錯誤,你的意思應該是計算出來的結果與實際不符吧?
因為:
你沒有定義兩表連接的條件,所以兩表連接後的結果可能不是你期待的結果
例如兩表都是以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語句求兩條數據之間的差

sql中查詢兩個值之間的差直接用「-」(即減號)即可。

工具:SqlServer 2008 R2

步驟:

1、分別計算10-1,20.5-10.3,1-3,9-9(即分別計算整數中大數減小數、小數之間的相減,整數中小數減大數、整數減自己本身)

2、語句分別如下:

10-1

1select10-1

『柒』 急救!!!用SQL語句怎麼求兩個數據之間的差

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

『捌』 sql 查詢取差集,需要根據兩個欄位來確定行

你給的例子太特殊了,可以看成是不同的數字的差,也可以看成是求和後的差。
第一種,同意1樓,用EXCEPT最簡潔了
SELECT a, b from a except select a, b from b

第二種按照和來算
SELECT t1.a, SUM(t1.b) - SUM(t2.b)
FROM a t1
LEFT JOIN b t2
ON t1.a = t2. a
GROUP BY t1.a

最好可以對sum(t2.b)做一個null判斷,oracle裡面就是
SELECT t1.a, NVL(SUM(t1.b), 0) - NVL(SUM(t2.b), 0)
FROM a t1
LEFT JOIN b t2
ON t1.a = t2. a
GROUP BY t1.a

其他sql方言要對null判斷作適當轉換,類似
SELECT t1.a,
CASE WHEN SUM(t1.b) IS NULL THEN 0 ELSE SUM(t1.b) END
- CASE WHEN SUM(t2.b) IS NULL THEN 0 ELSE SUM(t2.b) END -
FROM a t1
LEFT JOIN b t2
ON t1.a = t2. a
GROUP BY t1.a

『玖』 兩個SQL語句的差值

selectvalue,max(time)-min(time)fromD_live_datawherefield_id=156groupbyvalue

這樣嗎,你之前那個不group by能運行成功嗎?

『拾』 在Sql語句中怎樣計算出兩個日期的差值

sql語句中計算兩個日期的差值用datediff函數。

工具:sqlserver 2008 R2

步驟:

1、計算2009-06-23與2009-06-17之間的天數。語句如下:

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

2、查詢結果: