sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Vis alle varer, der er i leje før og frem til en bestemt dato

Tager mig tilbage, men det er det du vil vise ALT på leje i perioden, inklusive ikke returnerede varer

select *
from MyTable
where on_hire < @EndDate
and (off_hire >= @StartDate or off_hire is null)

Til opfølgningen, det samlede antal dage for hvert værktøj

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


  1. Ændre skema for flere PostgreSQL-funktioner i én operation?

  2. Konvertering af en IP til en Long i MySQL

  3. Sådan udskrives Datagridview har en tabel i VB

  4. Rails-udvikling - Kan ikke oprette forbindelse til MySQL-server på 'localhost' (10061)