我有下面这个查询CheckPointTimeValue min和CheckPointTimeValue之间的最大日期我想显示TimeValueBit为1和其他为0.我怎么能在SQL SERVER如何获取所有的最低和最高日期之间的查询
SELECT C.CHECKPOINTNAME, TC.TERMINALCHECKPOINTID, CT.CheckPointTimeValue, CT.CheckPointTimeID, C.Scheduled, CT.ScheduledTimeValue
,CASE
WHEN CT.CheckPointTimeValue BETWEEN (SELECT MIN(CheckPointTimeValue) FROM [TAMS].[CheckPointTimes]) AND (SELECT MAX(CheckPointTimeValue) FROM [TAMS].[CheckPointTimes]) THEN 1
ELSE 0
END AS 'TimeValueBit'
FROM [TAMS].[TerminalCheckPoints] TC
INNER JOIN [TAMS].[CheckPoint] C ON C.CHECKPOINTID = TC.CHECKPOINTID
LEFT JOIN [TAMS].[CheckPointTimes] CT ON CT.TerminalCheckPointID = TC.TERMINALCHECKPOINTID
WHERE TC.TERMINALID = 1 AND TC.CHECKPOINTTYPE = 'TRUCK'
ORDER BY C.SEQUENCENUMBER
我很困惑。问题是什么? – SQLChao
介于最小CheckPointTimeValue和最大值之间CheckPointTimeValue我想将TimeValueBit显示为1,但由于NULL记录介于它之间,所以它显示0但是如何在最小值和最大值checkpointtimevalue之间显示1,即使在null之间出现 – user1030181
在' CASE ... WHEN CT.CheckpointTimeValue为空' – logixologist