2017-08-16 51 views
1

要为我的问题提供更多信息,请修改插入的图像。MySql:从组中选择第一行,并在两个表之间使用INNER JOIN

https://i.stack.imgur.com/1IuID.jpg

SELECT pro.id 
    , pro.featured 
    , pro.price_per_night 
    , pro.meta_title 
    , img.image 
    FROM properties AS pro 
    INNER JOIN images AS img 
    ON pro.id = img.imageable_id 
WHERE pro.featured = 1 

与此查询,满足查询所有的图像显示。即,显示图像:图像4,图像5,图像6,图像7,图像8和图像9。

例如,如果我命令LIMIT = 1,则只显示一个图像,更准确地说是“image4”。没有更多的图像显示。

我想更改查询以显示与查询匹配的字段的第一个图像。更确切地说,我必须展示“image4”和“image7”。再次

感谢您的帮助

+0

请问以下问题的帮助? https://stackoverflow.com/questions/1891789/sql-select-first-10-rows-only – tylerc0816

+0

定义'第一'! – Strawberry

+0

通过设置LIMIT = 1,查询只返回一个图像。也就是说,只有符合相同查询条件的第一个图像。 –

回答

1

mysql limit

SELECT pro.id, pro.featured, pro.price_per_night, pro.meta_title, img.image 
FROM properties AS pro 
INNER JOIN images AS img ON pro.id = img.imageable_id 
WHERE pro.featured = 1 
LIMIT 1 
0

你需要有一个ID,以图像,并获得第一图像使用image_ID

SELECT pro.id 
, pro.featured 
, pro.price_per_night 
, pro.meta_title 
, img.image 

FROM properties AS pro

JOIN images AS img

ON pro.id = img.imageable_id 

WHERE image_id=1

相关问题