php - 在第二个查询中使用查询结果

标签 php mysql join

我正在尝试将一个查询的结果用作第二个查询中 WHERE 的一部分。我不确定如何最好地解决这个问题,非常感谢任何帮助:

第一个查询:

$result = mysql_query("SELECT `keyword` FROM `history` ORDER BY `last_update` ASC LIMIT 1 ");
while($row = mysql_fetch_array($result))
$keyword = $row['keyword'];

第二个查询

$result = mysql_query("SELECT `id` FROM `data_store` WHERE `keyword`= [result from my first query] ORDER BY `id` DESC LIMIT 1");
while($row = mysql_fetch_array($result))
$id = $row['id'];

为了澄清,keyword.data_store 与 keyword.history 相关

最佳答案

使用子查询

$result = mysql_query("
SELECT `id` 
FROM   `data_store` 
WHERE  `keyword` = (SELECT `keyword` 
                    FROM   `history` 
                    ORDER  BY `last_update` ASC 
                    LIMIT  1) 
ORDER  BY `id` DESC");
while($row = mysql_fetch_array($result))
$id = $row['id'];

关于php - 在第二个查询中使用查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9241960/

相关文章:

apache-spark - 加入 Spark 返回重复的隐式数据类型不匹配

php - 从数据库中选择两个日期之间的行给出错误的结果

php - laravel 4.1 用数据库中的数据填充表格

php - 我应该如何设计我的应用程序以便轻松提供多种语言?

java - 如何检测tomcat连接池问题

MYSQL 带有 SUM 结果以及 GROUP BY 和 SUM Again

php - mysql : left join on variable table

Oracle JOIN 使用 + 子查询 : ora-00904 string: invalid identifier

php - Mysql查询,item包含所有指定的标签

mysql - MySQL 中的 spool 命令等价于什么?