Mysql ";未知列“on子句中的名称”;尝试联接两个表时出错。
我试图从下面两张桌子上展示价格低廉的不同酒店房间(酒店房间价格低廉,不需要展示该酒店的其他房间)。 但是我得到了错误“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
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连接: