首页 > 解决方案 > 使用同一列中的日期添加列的 SQL Select 语句

问题描述

第一个 select 语句将根据日期显示数据。第二个 select 语句也是如此。两个日期都在一列中,我想从一个 datagridview 中的两个日期中减去每日仪表量。

Select Machine.ID,Clientinfo.Clientname,Machine.MachineLocation, Machine.MachineType,DailyMeter,DailyCashAmt,DailyCardAmt,DailyCashAmt+DAilyCardAmt as TOTALAMT,Dailydate
from  Machine 
inner join Clientinfo on Clientinfo.ID = Machine.MachineID 
inner join DailyInput on Dailyinput.DailyId = Machine.ID 
 Where Clientinfo.ClientRoutenum = '1' and dailydate = '10-11-18'

(select DailyMeter from DailyInput where Dailydate = '10-10-18')

这些查询的结果是每个选择的两个结果之一。我希望较低的结果成为第一个结果的一部分,这样我就可以从 10-10-18 的每日计量量中减去 10-11-18 的每日计量量。我把它们放在这里只是为了清楚。前 1 没有帮助。不能将选择放在第一个作为子项,因为有不止一行。任何帮助表示赞赏。

标签: sqlsql-serverselect

解决方案


我假设一台机器每天在 DailyInput 表中有一条记录

Select Machine.ID, Clientinfo.Clientname, Machine.MachineLocation, Machine.MachineType, DailyMeter, DailyCashAmt, 
       DailyCardAmt, DailyCashAmt+DAilyCardAmt as TOTALAMT, Dailydate, di2.DailyMeter as LastDayMeter
  from Machine inner join Clientinfo on Clientinfo.ID = Machine.MachineID 
               inner join DailyInput on Dailyinput.DailyId = Machine.ID 
               left outer join DailyInput as di2 on di2.DailyId = Machine.ID AND di2.Dailydate = '10-10-18'
 Where Clientinfo.ClientRoutenum = '1' 
   and dailydate = '10-11-18'

推荐阅读