Использовать результат запроса во втором запросе - PullRequest
1 голос
/ 11 февраля 2012

Я пытаюсь использовать результат одного запроса как часть 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'];

Для уточнения, ключевое слово.data_store относится к ключевому слову.история

Ответы [ 3 ]

1 голос
/ 11 февраля 2012

Использовать подзапрос

$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'];
0 голосов
/ 11 февраля 2012

(лишены аспектов 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
0 голосов
/ 11 февраля 2012
$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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...