У меня есть сомнение. Можно ли выполнить следующие два запроса в одном запросе?извлечение данных из двух таблиц, удовлетворяющих условию
SELECT id FROM table1 WHERE time_stamp>=DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND status<>200 ORDER BY time_stamp ASC LIMIT 2 "
и SELECT email FROM table2 WHERE wid='".$xy."'"
где $xy
это идентификатор извлекается из первого запроса на выборку.
мой PHP код:
$dat =mysql_query("SELECT * FROM table1 WHERE time_stamp>=DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND status<>200 ORDER BY time_stamp ASC LIMIT 2 ");
while($dt= mysql_fetch_assoc($dat)){
$add= mysql_query("SELECT email FROM table2 WHERE wid='".$dt['id']."'");
$result= mysql_fetch_assoc($add);
$to=$result['email'];
$subject="site down";
$message="your site is down";
$header="From:[email protected]";
$retval=mail($to,$subject,$message,$header);}
мои таблицы выглядит следующим образом:
table1:
id url status time_stamp
9 dgfgg 404 2012:09:05 13:04:56
10 gfh 404 0000:00:00 00:00:00
11 fg 200 0000:00:00 00:00:00
table2:
wid email
9 [email protected]
10 [email protected]
11 [email protected]
кто-нибудь может предложить один запрос, сделать работа вместо writin g два, как я сделал в моем php-коде?
Не могли бы вы опубликовать результат первого выбора? – Mihai
@Mihai: его int id 9 и 10. эти же идентификаторы находятся в таблице 2, которая также содержит соответствующие идентификаторы почты. Мне нужно отправить почту на эти идентификаторы почты. – user007
SELECT email FROM table2 WHERE wid IN (9,10) работает ли это? – Mihai