![](/img/trans.png)
[英]SQL - Check if an item was available in the previous month and then flag it
[英]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.