我有两个表,我需要从(classifieds_items和附件)拉记录。分类项目的图像存储在不同的表格(附件)中,每个分类的图像可能有多个。我需要为每个分类项目拉一张图片。下面的声明的问题是它会复制结果与项目有多个图像。MySQL加入唯一
$sql = "SELECT *
FROM classifieds_items
JOIN (attachments) ON (attachments.attach_rel_id = classifieds_items.item_id)
WHERE active = 1
AND open = 1
AND date_expiry > ". time()."
AND attachments.attach_rel_module = 'classifieds'
ORDER BY RAND()
LIMIT 4";
$rs = mysql_query($sql);
if(mysql_num_rows($rs)>0) {
while($row=mysql_fetch_array($rs)) {
$dtl_list .="<div class='fclass'>
<span class='fctitle'><a class='albumlnk' href='#'>".stripslashes($row['name']). '</a></span><br />
<img src="uploads/'.stripslashes($row['attach_thumb_location']).'" /><br />
'.stripslashes($row['price'])."
</div>";
}
}
echo $dtl_list;
我猜你想在分组的JOIN工作,并把它在某种程度上更合适的而不是快速使用DISTINCT – haknick 2011-05-16 00:34:11
如果可以有多个每个分类的附件,然后我会说查询工作正常。如果你只想为每个分类记录一个记录,那么你可以做到这一点 - 但你想要哪个图像? – 2011-05-16 00:44:44