如何在一个SQL语句中限制多个类别(动态采用)?

时间:2010-02-14 17:16:47

标签: mysql limit

这是当前的SQL: http://www.copypastecode.com/22205/

表广告需要70个新行。

但是,对于来自联接表map_regions的每个mr.region_id,它没有采用适当的行数(例如5行)。

例如,如果我在一个地区添加50个广告,则会占用所有50个广告,并为其余地区留出20个广告位。

请帮我升级当前的SQL,因此map_regions表格中每个mr.region_id的表广告需要5行。

1 个答案:

答案 0 :(得分:0)

尝试

SELECT a.id,a.country,a.region,a.rajons,a.town AS town_id,a.pagasts,i.t0_1, mt.town, mp.pagasts, c.link
FROM ads a 
INNER JOIN categories c ON a.category = c.cat_id
RIGHT JOIN images i ON a.id = i.ad_id
LEFT JOIN (select * from map_regions where region_id = a.region LIMIT 5) as mr
LEFT JOIN map_towns mt ON a.town = mt.town_id
LEFT JOIN map_pagasts mp ON a.pagasts = mp.pagasts_id
WHERE a.expire >= ' . $current->get() . '
ORDER by a.id DESC
LIMIT 70