Вывести из таблицы SQL все вылеты, совершенные 1 января 1900 года с 10 ч по по 14 ч
Задача из онлайн-тренажера SQLAcademy. Есть следующие таблицы: Company. Поля:
id(INT, PRIMARY KEY), name(VARCHAR)
Trip. Поля:
id(INT, PRIMARY KEY), company(INT, FOREIGN KEY)<->Company.id, plane(VARCHAR), time_out(DATETIME), time_in(DATETIME), town_from(VARCHAR), town_in(VARCHAR)
Pass_in_trip. Поля:
id(INT, PRIMARY KEY), trip(INT, FOREIGN KEY)<->Trip.id, passenger(INT, FOREIGN KEY)<->Passenger.id, place(VARCHAR)
Passenger. Поля: i
d(INT, PRIMARY KEY), name(VARCHAR).
Собственно нужно вывести из таблицы все вылеты, которые были совершены с 10 ч до 14 ч 1 января 1900 года. Ожидаемое поле *. Пытался делать так:
SELECT * FROM Trip WHERE
YEAR(Trip.time_out)="1900" AND
MONTH(Trip.time_out)="1" AND
DAY(Trip.time_out)="1" AND
HOUR(Trip.time_out)="10" AND
YEAR(Trip.time_in)="1900" AND
MONTH(Trip.time_in)="1" AND
DAY(Trip.time_in)="1" AND
HOUR(Trip.time_in )="14";
Так тоже пытался
SELECT * FROM Trip WHERE
time_out="1900-01-01 10:00:00" AND
time_in="1900-01-01 14:00:00";
И даже так:
SELECT * FROM Trip WHERE
YEAR(time_out)="1900" AND
MONTH(time_out)="1" AND
DAY(time_out)="1" AND
HOUR(time_out)>=10 AND
HOUR(time_out)<=14;
Но ответ все время неправильный. Есть кто решал эту задачу?
В любом случае подскажите хорошее решение, пожалуйста