我的内连接有问题。我需要在使用内连接组合表之前过滤表。以下代码当然是错误的,但我需要这样的东西。请帮忙。
SELECT * FROM hotel LEFT OUTER JOIN (**hotel_table where hotel_table.id_offer=$id**) ON (hotel.id = hotel_table.id_hotel)
修改
感谢您的快速回答。但是我得到一个错误:"每个派生表必须有自己的别名"我的代码:
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)
我该如何解决这个问题?
此代码显示错误:"每个派生表必须有自己的别名"我不能消除它。
答案 0 :(得分:5)
SELECT *
FROM
hotel
LEFT OUTER JOIN
hotel_table ON hotel.id = hotel_table.id_hotel AND hotel_table.id_offer=$id
或
SELECT *
FROM
hotel
LEFT OUTER JOIN
(
SELECT *
FROM hotel_table
WHERE hotel_table.id_offer=$id
) ht ON hotel.id = ht.id_hotel