将左连接更改为基本连接

时间:2010-08-26 15:59:19

标签: sql mysql left-join join relational-database

我目前有一些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`

1 个答案:

答案 0 :(得分:1)

只需在第一次加入时将LEFT更改为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; 

分享并享受。