我是SQL的新手,无法使用别名,但我知道我需要这个解决方案。
我有一张名为tbl_MachineData
的表格
在其中我有几个字段,包括Date
,RunStatus
,StartDate
和StopDate
我需要做的是通过存储过程猜测以下内容....
Where RunStatus = False And StartDate Is Null And StopDate Is Null Then
Set StartDate = Date on current record
Set StopDate = Date on next record
这与停止日期非常接近,但输入的是前一行的日期,而不是
之后的行案例当dbo.tbl_MachineData.RunStatus = 0那么t.Date ELSE NULL END
答案 0 :(得分:0)
这可能会做你想要的:
select md.*,
(select top 1 date
from tbl_MachineData md2
where md2.id > md.id
order by md2.id
) as next_stopdate
from tbl_MachineData md
Where RunStatus = False And StartDate Is Null And StopDate Is Null ;
这应该在select
查询中返回您想要的内容。
答案 1 :(得分:0)
修改后的代码......
选择md。*, (选择前1个日期 来自tbl_MachineData md2 其中md2.id> md.id 按md2.id排序 )作为next_stopdate 来自tbl_MachineData md 其中RunStatus = False,StartDate为空,StopDate为空;