简体   繁体   English

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

[英]Use result of query in a second query

I'm trying to use the result of one query as part of a WHERE in a second query. 我正在尝试在第二个查询中将一个查询的结果用作WHERE的一部分。 I'm not sure how to best approach this, any assistance is greatly appreciated: 我不确定如何最好地解决这个问题,我们将不胜感激:

First Query: 第一个查询:

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

Second Query 第二查询

$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'];

For clarification, keyword.data_store relates to keyword.history 为了澄清起见,keyword.data_store与keyword.history相关

Use subquery 使用子查询

$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'];
$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 LIMIT 1");

(Stripped out PHP aspects because it is irrelevant) (因为它无关紧要,所以删除了PHP方面的内容)

SELECT `id` FROM `data_store` WHERE 
  `keyword` IN (
    SELECT `keyword` FROM `history` ORDER BY `last_update` ASC LIMIT 1
  ) 
ORDER BY `id` DESC LIMIT 1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM