Сравнение даты между несколькими строками SQL Server

сначала, извините за мой плохой английский, я французский канадский.

Я пытаюсь сравнить одно datetime между muttiple start datetime и end datetime, но мой запрос не работает, и SQL Server дает мне эту ошибку: "Subquery возвращает более 1 значения. Это недопустимо, когда подзапрос следует за =,! =, <, <=,>,> = или когда подзапрос используется как выражение. "

SELECT V.SampleTime,
 V.OrderNo,
 V.VNCCode,
 V.VNCDescription,
 V.NrOfOccurences,
 V.Comment
FROM AV_RPT_FQC_Visual V
INNER JOIN AV_RPT_PO_Header H
ON H.OrderNo=V.OrderNo
WHERE H.LinkUp IN (SELECT * FROM @iLinkupID) 
AND (V.NrOfOccurences > 0 or V.VNCCode = '00.00.00')
-- This part doesn't work --> AND SampleTime between (Select ShiftStart From @shifts) and (Select ShiftEnd From @shifts)
ORDER BY SampleTime, VNCCode

Большое спасибо. :)

2 ответа

Основываясь на ваших комментариях, вы можете попробовать это. PS, я тоже канадский :)

AND EXISTS (Select 1 From @shifts ss WHERE V.SampleTime BETWEEN ss.ShiftStart AND ss.ShiftEnd)


Попробуйте AND SampleTime between (Select min(ShiftStart) From @shifts) and (Select max(ShiftEnd) From @shifts)

licensed under cc by-sa 3.0 with attribution.