2010-08-26 101 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; 

分享和享受。