Your SQL statement is incomplete, you still have to do something with those hotels.
Example:
with hotels
as (
select * FROM dbo.hotel_2018
union
select * FROM dbo.hotel_2019
union
select * FROM dbo.hotel_2020 ) select * FROM hotels
doesn't give me any syntax errors.
:)
PS: it isn't considered good practice to split data over several tables all having the same structure. Databases don't mind large tables, you probably should have put all records in a single table right from the start.