Mysql 限制内部联接表上的一个结果

Mysql 限制内部联接表上的一个结果,mysql,join,limit,Mysql,Join,Limit,你好,我有以下问题: SELECT pr.*, img.image_file, c.contract_id, c.cmin_markup, c.cmeal_plan, c.tax_include, c.civa, m.plan_name, r.room_name, r.room_id FROM contracts AS c INNER JOIN meal_plan AS m ON m.plan_code = c.cmeal_plan AND m.lang = '1' INNER JOIN roo

你好,我有以下问题:

SELECT pr.*, img.image_file, c.contract_id, c.cmin_markup, c.cmeal_plan, c.tax_include, c.civa, m.plan_name, r.room_name, r.room_id FROM contracts AS c
INNER JOIN meal_plan AS m ON m.plan_code = c.cmeal_plan AND m.lang = '1'
INNER JOIN room_infos AS r ON r.hotel_id = '$hid' AND r.lang = '1'

LEFT JOIN images AS img ON img.foreign_id = r.room_id LIMIT 1

LEFT JOIN promotions as pr ON pr.hotel_id = '$hid' AND FIND_IN_SET('c.contract_id', pr.contract_id) > 0 AND FIND_IN_SET('r.room_id', pr.room_id) > 0 AND pr.travel_start <= '$now' AND pr.travel_end >= '$now' AND pr.book_start <= '$arriving' AND pr.book_end >= '$departing' AND pr.lang='1'
WHERE c.hotel_id = '$hid' AND c.cstart <= '$arriving' AND c.cend >= '$departing' AND c.ctype = '1'"
选择pr.*、img.image\u文件、c.contract\u id、c.cmin\u标记、c.cmeal\u计划、c.tax\u include、c.civa、m.plan\u name、r.room\u name、r.room\u id作为c
在m.plan\u code=c.cmeal\u计划上以m和m.lang='1'作为内部联接膳食计划
内部连接room_infos作为r ON r.hotel_id='hid'和r.lang='1'
在img.foreign\u id=r.room\u id LIMIT 1上将图像作为img左连接
左键作为pr.hotel\u id='$hid'上的公关参与促销活动,在\u集合中查找\u('c.contract\u id',pr.contract\u id)>0,在\u集合中查找\u('r.room\u id',pr.room\u id)>0,以及pr.travel\u start='$now'和pr.book\u集合中查找\u='$definding'和pr.lang='1'
其中c.hotel_id='hid'和c.cstart='defining'和c.ctype='1'”

我需要限制图像表只给我一个结果。我不确定这是可能的还是最好的方法。如果需要更多的信息,请告诉我。有很多表要张贴。谢谢你的任何帮助!

< P>我前面没有MySQL实例来尝试,但是考虑移动图像。子查询:

LEFT JOIN (select * from images LIMIT 1) AS img on img.foreign_id = r.room_id
这本身当然不是很有效,因为内联子查询中没有where子句,您可以改进子查询,使其更具限制性,并使其与父查询联接

大概是这样的:

select * from images as img2 where img2.foreign_id = r.room_id LIMIT 1

在查询的末尾包含一个group by。假设您的images表有一个ID字段,只需附加“group by images.ID”“

图像表与房间有什么关系?一个房间有多个图像吗。。。是的,一个房间可以有多张图片谢谢回答。。。这不会返回任何图像。我只是简单地添加了外文id,效果非常好!谢谢