मुझे वापस ले जाता है, लेकिन आप इस अवधि में किराए पर सब कुछ दिखाना चाहते हैं, जिसमें गैर-वापसी आइटम शामिल हैं
select *
from MyTable
where on_hire < @EndDate
and (off_hire >= @StartDate or off_hire is null)
अनुवर्ती कार्रवाई के लिए, प्रत्येक टूल के लिए कुल दिनों की संख्या
with CTE as
(
select *
from MyTable
where on_hire < @EndDate
and (off_hire >= @StartDate or off_hire is null)
)
select Tool,
sum(datediff(dd,
case
when off_hire > @EndDate then @EndDate
when off_hire is null then @EndDate
else off_hire
end,
case
when on_hire < @StartDate then @StartDate
else on_hire
end)) as DaysOnHire
from CTE
froup by Tool