INNER JOIN选择

0 mysql

我对内连接有问题.我需要在使用内连接组合表之前过滤表.以下代码当然是错误的,但我需要这样的东西.请帮忙.

SELECT * FROM hotel LEFT OUTER JOIN (**hotel_table where hotel_table.id_offer=$id**) ON (hotel.id = hotel_table.id_hotel)
Run Code Online (Sandbox Code Playgroud)

编辑:

谢谢你的快速回答.但我收到一个错误:"每个派生表必须有自己的别名"我的代码:

SELECT *
FROM 
   czajka_zakwaterowania 
   LEFT OUTER JOIN 
   (
   SELECT * 
   FROM czajka_hotel_l 
   WHERE czajka_hotel_l.id_hotel=$id
   ) 
   ON (czajka_zakwaterowania.id = czajka_hotel_l.id_hotel)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

此代码显示错误:"每个派生表必须具有自己的别名"我无法消除它.

gbn*_*gbn 5

SELECT *
FROM 
   hotel 
   LEFT OUTER JOIN 
   hotel_table ON hotel.id = hotel_table.id_hotel AND hotel_table.id_offer=$id
Run Code Online (Sandbox Code Playgroud)

要么

SELECT *
FROM 
   hotel 
   LEFT OUTER JOIN 
   (
   SELECT * 
   FROM hotel_table 
   WHERE hotel_table.id_offer=$id
   ) ht ON hotel.id = ht.id_hotel
Run Code Online (Sandbox Code Playgroud)