Я недавно начал свой опыт работы с sqlite, и мне нужно создать запрос, в котором я рассчитываю общее время (в часах) всех бронирований за данный период в каждом номере отеля с данными from_date и to_date.
Вот мой код:
SELECT RoomId,
CASE
WHEN CAST(strftime('%s', startsAt) As Integer) >= CAST(strftime('%s', ?) As Integer)
THEN
CASE WHEN CAST(strftime('%s', endsAt) As integer) >= CAST(strftime('%s', ?) As Integer)
THEN Cast ((JulianDay(?) - JulianDay(?)) * 24 As Integer)
ELSE Cast ((JulianDay(endsAt) - JulianDay(?)) * 24 As Integer)
END
ELSE
CASE
WHEN strftime('%s', endsAt) >= strftime('%s', ?) THEN
THEN Cast ((JulianDay(?) - JulianDay(startsAt)) * 24 As Integer)
ELSE Cast ((JulianDay(endsAt) - JulianDay(?)) * 24 As Integer)
END
END Time
FROM Reservation """, (from_date, to_date, to_date, from_date, from_date, to_date, to_date))
Можете ли вы сказать мне, что я делаю неправильно?