2010-08-26 80 views
0

我目前有一些SQL应返回3行数据,但返回6(3行重复两次)。更改左连接到基本连接

我相信这是记在我的语法和想尝试和使用基本的连接,目前的SQL看起来像这样构建查询,

`function getMultiContentById($id) { 
    $query = "SELECT 
    FROM `mailers` 
    LEFT JOIN `mailer_content` ON `mailers`.`id` = `mailer_content`.`mailer_id` 
    LEFT JOIN `mailer_images` ON `mailer_content`.`id` = `mailer_images`.`content_id` 
    WHERE `mailers`.`id` = $id" 
    $result = runSelectArray($query, __FUNCTION__); 
    return $result; 
}` 

我想用这样的

`WHERE `mailer_content`.id = `mailers.id` 
+0

你可以发布你的表结构,你正在查询的数据和预期的结果吗? – 2010-08-26 16:02:20

+0

你试过DISTINCT吗? – 2010-08-26 16:04:46

回答

1

的只剩改变INNER第一个加入,如

$query = "SELECT 
    FROM `mailers` 
    INNER JOIN `mailer_content` ON `mailers`.`id` = `mailer_content`.`mailer_id` 
    LEFT JOIN `mailer_images` ON `mailer_content`.`id` = `mailer_images`.`content_id` 
    WHERE `mailers`.`id` = $id" 
    $result = runSelectArray($query, __FUNCTION__); 
    return $result; 

分享和享受。