簡體   English   中英

SQL中的上個月存在檢查值

[英]Check value exist in previous month in SQL

我有兩個表XYZ和ABC

create table #abc(id int, value int, dates date)
create table #xyz(id int, value int, dates date)

insert into #xyz values(1,10,'2017/02/01')
Insert into #xyz values(2,10,'2017/05/01')

Insert into #abc values(1,10,'2017/01/01')
Insert into #abc values(1,20,'2017/02/01')
Insert into #abc values(2,4,'2017/01/01')
Insert into #abc values(2,5,'2017/04/01')

XYZ
ID  Value   Dates
1   10  2017/02/01
2   10  2017/05/01

ABC         
ID  Values  Dates   ExpectedResult
1   10  2017/01/01  20
1   20  2017/02/01  0
2   4   2017/01/01  0
2   5   2017/04/01  15

我想檢查表ABC是否具有與表XYZ相比(月-1)的值。 表的唯一性由ID和Date標識。 對於例如->表XYZ id-1具有日期2017/02/01,即2月數據,而我的ABC表ID-1具有2017/01/01,即1月數據,則XYZ值+ ABC值,即20是預期結果。

您能告訴我在這種情況下我們如何比較月份。

您需要使用MS SQL提供的DATEADD函數來比較日期,例如

WHERE XYZ.Date = DATEADD(MONTH, -1, ABC.Date)

請查看w3schools上的此鏈接以獲取詳細說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM