【发布时间】:2013-04-09 21:16:26
【问题描述】:
我正在尝试从第一个表中选择少量数据,并且仅从图像表中选择最后上传的图像。我的表格如下所示:
名为 data_property 的表具有字段(列):
property_id、timestamp、label_town、label_sub、property_name、price_night、description(以及在这种情况下我不需要的其他内容)。
以及带有字段(列)的表格图像:
image_id、property_id 和分机。图片名称是image_id,ext是图片的扩展名。
每个属性(property_id 行)在图像表中有 12 个图像。我只需要加入每个属性的最后上传图像,并每页显示 10 个属性 ($recordsize = 10)。我不知道如何组织我的查询
类似这样的:
SELECT
property_id, timestamp, label_town, label_sub,
property_name, price_night, description
FROM
data_property
LEFT JOIN or INNER JOIN (image_id, property_id, ext
ORDER BY image_id DESC LIMIT 1)
FROM images ORDER BY timestamp DESC LIMIT $recordstart, $recordsize
所以,我需要从 data_property 中选择几个字段,加入属于该属性的最新上传的图像,按创建属性广告的时间排序,从 desc 排序并显示每页 10 个属性。
要在这个网站上获得类似的东西:http://www.freehouseagent.com/property-for-sale/ireland/
对不起,我的英语不好。我希望你能理解我。 谢谢和最好的问候!
【问题讨论】:
-
所以每个属性都有 12 张图片,您想选择最后上传的一张吗?如果图像表中没有时间戳列,您如何知道每张图像何时上传?
-
最后上传的图片id最大(image_id是自增整数) image_id也是图片的名字。用户可以删除图像并上传另一个图像。我在图像表中也有一个时间戳列,因此我也可以使用该解决方案。