Mysql ";未知列“on子句中的名称”;尝试联接两个表时出错。

Mysql ";未知列“on子句中的名称”;尝试联接两个表时出错。,mysql,Mysql,我试图从下面两张桌子上展示价格低廉的不同酒店房间(酒店房间价格低廉,不需要展示该酒店的其他房间)。 但是我得到了错误“on子句中的未知列名称”。请查查我的问题 SELECT r.*,h.* FROM hotels_temp h,rooms_temp r INNER JOIN ( SELECT hotel_code,MIN(amount) mincost FROM rooms_temp GR

我试图从下面两张桌子上展示价格低廉的不同酒店房间(酒店房间价格低廉,不需要展示该酒店的其他房间)。 但是我得到了错误“on子句中的未知列名称”。请查查我的问题

    SELECT  r.*,h.*
    FROM hotels_temp h,rooms_temp r
    INNER JOIN
    (
      SELECT 
        hotel_code,MIN(amount) mincost
      FROM 
        rooms_temp 
      GROUP BY hotel_code
    ) m ON r.amount = m.mincost and h.hotel_code=r.hotel_code 
    ORDER BY r.amount
    LIMIT 30
表名:酒店

表名:房间温度


根据mu假设,您需要成本较低且每家酒店最多一个房间的房间。那么你可以这样做

SELECT DISTINCT r.id, r.*,h.*
FROM rooms_temp r LEFT JOIN hotels_temp h ON h.hotel_code = r.hotel_code
ORDER BY r.amount DESC LIMIT 0,30

这里我假设r.id是房间的唯一id。

我可以通过下面的查询自己解决这个问题

    SELECT * FROM hotels_temp
    INNER JOIN
    (
        SELECT  r.amount,r.hotel_code FROM rooms_temp r
        INNER JOIN
        (
            SELECT hotel_code,amount, MIN(amount) mincost FROM rooms_temp  GROUP BY hotel_code
        ) m ON 
        r.amount = m.mincost GROUP BY r.hotel_code
    ) ht ON 
    ht.hotel_code=hotels_temp.hotel_code LIMIT 0,30

您的问题就在这里:
来自酒店、客房的
。。。没有连接。请勿混合使用逗号和ansi连接: