Мне нужна помощь. Понятия не имею, почему мой код не работает в panda sql. Также, если есть лучший способ решить проблему, пожалуйста, помогите мне!
Автобусы
sn origin destination time
10 warsaw berlin 10:55
20 berlin paris 6:20
21 berlin paris 14:00
22 berlin paris 21:40
30 paris madrid 13:30
Пассажиры
sn origin destination time
1 paris madrid 13:30
2 paris madrid 13:31
10 warsaw paris 10:00
11 warsaw berlin 22:31
40 berlin paris 6:15
41 berlin paris 6:50
42 berlin paris 7:12
43 berlin paris 12:03
44 berlin paris 20:00
Каждая строка таблицы содержит автобусы информация об отправлении, пункте назначения и времени отправления одного автобуса. Каждая строка таблицы «пассажиры» описывает одного пассажира и содержит информацию о станции, от которой и на которую они едут. Пассажиры сядут на самый ранний автобус, который отправится прямо к месту назначения. Они могут сесть, даже если они достигли той же минуты, что и время отправления. Укажите количество пассажиров, садившихся в каждый автобус.
Результат должен выглядеть так:
sn passengers_on_board
10 0
20 1
21 3
22 1
30 1
Мой код (выполняется в sqlite3 panda sql в блокноте jupyter):
SELECT b.sn, COUNT(p.sn) passengers_on_board
FROM buses b
LEFT JOIN passengers p
ON b.origin = p.origin
AND b.destination = p.destination
WHERE date b.time <= date p.time
GROUP BY b.sn
ORDER BY b.sn
Ошибка: PandaSQLException: (sqlite3.OperationalError) рядом с «b»: синтаксическая ошибка