难以编程SQL别名

时间:2014-12-21 16:00:07

标签: sql sql-server alias

我是SQL的新手,无法使用别名,但我知道我需要这个解决方案。

我有一张名为tbl_MachineData的表格 在其中我有几个字段,包括DateRunStatusStartDateStopDate

我需要做的是通过存储过程猜测以下内容....

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

2 个答案:

答案 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为空;