我正在尝试使用以下查询执行搜索:
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
我想要做的是让搜索遍历两个表并显示匹配“question_index.question”或“question_content.text”的结果
但现在,它只显示匹配“question_content.text”的结果。我尝试删除“question_content.text LIKE '%$keyword%'”,但根本没有出现结果。我可以获得与“question_index.question”匹配的结果的唯一方法是如果我一起删除连接。但这不是我想要的结果。
最佳答案
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
关于mysql - 通过连接表搜索仅显示来自一个表的匹配数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38082460/