Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在联接表中搜索只显示一个表中的匹配数据_Mysql_Search_Join - Fatal编程技术网

Mysql 在联接表中搜索只显示一个表中的匹配数据

Mysql 在联接表中搜索只显示一个表中的匹配数据,mysql,search,join,Mysql,Search,Join,我正在尝试使用以下查询执行搜索: SELECT * FROM question_index JOIN question_content ON question_index.id = question_content.question_id WHERE question_index.remove = '0' AN

我正在尝试使用以下查询执行搜索:

        SELECT 
            *
        FROM 
            question_index
        JOIN
            question_content
            ON question_index.id = question_content.question_id
        WHERE
            question_index.remove = '0' AND
            question_index.active = '1' AND         
            question_index.publish_date <= '$current_time' AND
            (
                question_index.question LIKE '%$keyword%' OR
                question_content.text LIKE '%$keyword%'
            )
        GROUP BY
            question_index.id
        ORDER BY 
            question_index.publish_date DESC
选择
*
从…起
问题索引
参加
问题内容
ON question\u index.id=question\u content.question\u id
哪里
问题_index.remove='0'和
问题_index.active='1'和
问题_index.publish _日期
选择
*
从…起
问题(左)
参加
问题内容
ON question\u index.id=question\u content.question\u id
哪里
问题_index.remove='0'和
问题_index.active='1'和
问题_index.publish _日期
选择
*
从…起
问题(左)
参加
问题内容
ON question\u index.id=question\u content.question\u id
哪里
问题_index.remove='0'和
问题_index.active='1'和

问题_index.publish _日期由于您刚刚加入了
join
,因此默认情况下您正在进行
内部
连接,这意味着您将在连接两侧都存在记录的情况下获得结果。如果您希望所有记录都来自一侧,即使另一侧没有匹配项,您需要使用
左连接
右连接
。左连接成功!请提交它作为答案,我会接受它,谢谢!由于您刚刚进行了
join
,因此默认情况下您正在执行
内部
连接,这意味着您将在连接两侧都存在记录的情况下获得结果。如果您希望所有记录都来自一侧,即使另一侧没有匹配项,您需要使用
左连接
右连接
。左连接成功!请提交它作为答案,我会接受它,谢谢!Union all也可以工作,但将其更新为Left join,因为从性能角度看,它比unionUnion all更好,但将其更新为Left join,因为从性能角度看,它比Union更好
  SELECT 
        *
    FROM 
        question_index LEFT
    JOIN
        question_content
        ON question_index.id = question_content.question_id
    WHERE
        question_index.remove = '0' AND
        question_index.active = '1' AND         
        question_index.publish_date <= '$current_time' AND
        (
            question_index.question LIKE '%$keyword%' OR
            question_content.text LIKE '%$keyword%'
        )
    GROUP BY
        question_index.id
    ORDER BY 
        question_index.publish_date DESC