mysql - 使用结果中的值来避免双重 MySQL 查询

标签 mysql sql database

如果“内容”字段包含某个短语,我需要获取“标题”字段。有了标题,我可以进行实际查询以获取帖子。

-- 伪代码--

$query1 ='SELECT `title` FROM `posts` WHERE `content` CONTAINS 'matchtest' 
ORDER BY `id` ASC, LIMIT 1';
$titlefromquery1;

$query2 = 'SELECT * FROM `posts` WHERE `title` = 'Reply to: ' . $titlefromquery1;
$repliesfromquery2;

幸运的是,回复没有匹配的短语,“titles”将始终是“Reply to: $title”,这就是为什么需要两个查询的原因似乎

有没有什么方法可以有条件地或以其他方式避免这里的双重查询?

最佳答案

SELECT * FROM posts 
WHERE title= 
concat_ws('Reply to: ',
(SELECT title FROM posts WHERE <put_your_condition> ORDER BY id ASC LIMIT 1))

关于mysql - 使用结果中的值来避免双重 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32218240/

相关文章:

sql - 我在 SQL 到 LINQ 转换中做错了什么?

database - 是否可以在 Firestore 上添加一个层,这样更改就不会直接提交?

php - 如何将 (2) 个不同表中的 (2) 列相乘,并将结果输入到表 (1) 中创建的新列中

mysql - SQL GROUP BY 和 DOUBLE VALUE 属性

php - 从 MySql 查询多个值获取 True/False 结果

php - 如何将带有php的下拉菜单的值传递给数据库

php - 这个 SQL 查询有什么问题?

mysql - 哪个更好,存储格式化值,或在请求时格式化

php - 在mysql数据库中存储未知大小的数组

python - Firebird 在特定目录中创建数据库