使用搜索的CASE表达式的SQL / MS Access 2013条件求和

时间:2015-10-16 15:59:31

标签: sql-server ms-access-2013

在我的Access数据库中,我有三个表,' mission',#mission任务'和'设备'。每个任务都有一个开始时间和一个结束时间,并且可以拥有许多资产。每个资产条目都具有与任务表相关的missionID,与设备表中的条目相关的assetName,以及在该特定任务中使用的数量。

schema

团:

missionID (PK)  start                   end                     destination   description
1               10/17/2015 6:00:00 AM   10/17/2015 5:00:00 PM       
2               10/18/2015 6:00:00 AM   10/18/2015 5:00:00 PM       
3               10/19/2015 6:00:00 AM   10/19/2015 5:00:00 PM   

MissionAsset:

assetID (PK)    missionID (FK)   asset (FK)   quantity    description
1               1                M1088        2           
2               1                10K          3    
3               2                M1088        1
4               3                M1120        1

设备:

AssetName (PK)        OnHand       Inoperable
M1088                 10           2
10K                   8            1
M1120                 4            0

我的表连接对于查询是正确的。我想做一些按时间段过滤的总和:例如,从现在起24小时后将使用每种资产的数量?我尝试过使用:

Sum(CASE WHEN mission.start <= (Now()+1) AND (Now()+1) <= mission.end THEN quantity ELSE 0 END) 

无济于事;访问会导致语法错误(缺少运算符)&#39;。我引用SQL sum with condition来查找搜索到的CASE表达式(https://msdn.microsoft.com/en-us/library/ms181765.aspx)的文档。我还引用了Is it possible to specify condition in Count()?,其中使用了一个简单的CASE表达式。

0 个答案:

没有答案