php - MySQL连接唯一

标签 php mysql sql

我有两个表需要从中提取记录(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";`

关于php - MySQL连接唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012235/

相关文章:

php - 如果密码在 CodeIgniter 的数据库中编码,如何比较密码?

php - MySQL/PHP 在记录回显后放置一个回车符和空格

php - 3 层文件上传架构(浏览器/PHP/API)

mysql - 在 3 个表中搜索但线性连接的数据?

python - 抛出错误后关闭连接

mysql - 为避免打字错误,如何让 MySql sql 编译器在创建新过程时检查表定义?

Kohana 开发周期

mysql - 我们如何链接 MySQL 中的行?

c# - SQL Server错误: 50 when trying to add .mdf file to App_Data

sql - 计算两个连续行之间的日期差异