无法在三个表之间查询

Unable to query between three tables

我试图查询两个 table 并显示一些结果,但到目前为止还没有成功。 这是我尝试的 sql 查询

SELECT * FROM tables  
     JOIN reservation ON reservation.selected = m.table_id
     WHERE table_rest = '$rest_id'
     AND reservation.status is NULL

想法是显示所有 table。那些带有 status 的 table 将不会显示。目前这与三个 table 一起工作,即一个中间,但我不想有中间 table。这就是我努力的原因。这是正在运行的当前查询

SELECT m.*
        FROM tables m
        JOIN table_rest mr ON m.table_id = mr.table_id
        LEFT JOIN reservation ON reservation.selected = m.table_id
        WHERE rest_id = '$rest_id'
        AND reservation.status is NULL

更新: 这是当前结构 我想删除 table_rest table。我在 tables 中有 table_rest 列,其中包含 restaurant_id。我希望现在有点清楚了?

试试这个,我想,你在 tablesreservation 中的匹配列是 table_id 所以在那个列上添加连接

SELECT m.table_id, table_name, table_image, table_image_big, table_description 
FROM tables m 
LEFT JOIN reservation ON reservation.selectedTable = m.table_id 
WHERE table_rest = '$restaurant_id' 
AND reservation.status is NULL";