繁体   English   中英

MySQL联接不唯一

[英]MySQL JOIN UnIQUE

我有两个表需要从中提取记录(classifieds_items和附件)。 分类项目的图像存储在不同的表(附件)中,每个分类可以有多个图像。 我只需要为每个分类项目拉一张图像。 以下语句的问题是它将与具有多个图像的项目重复结果。

$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;

在mysql中,您可以仅添加GROUP BY classifieds_items.item_id

`$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'   
       GROUP BY classifieds_items.item_id  
      ORDER BY RAND() 
         LIMIT 4";`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM