Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > обеденение двух запросов в один (PDO)


Автор: Dante5 4.8.2015, 20:01
как объединить данное условие в один так как выводить только одну запись а должно все которых нет во второй таблице

$USER = $_SESSION["user"];
$ZALOBA = 25;

$TIMEOFF = time()-60*60*24;

$stmt = $PDO->prepare("SELECT * FROM asp_ads WHERE status=? and zaloba<? ORDER BY vip DESC");
$stmt->execute(array(1,$ZALOBA));
$stmt->setFetchMode(PDO::FETCH_LAZY);
while($SQLUSER = $stmt->fetch())
{
$stmt = $PDO->prepare("SELECT * FROM `asp_ads_history` WHERE `id_site`=? and user=? and timeserf>?");
$stmt->execute(array($SQLUSER->id,$USER,$TIMEOFF));
$stmt->setFetchMode(PDO::FETCH_LAZY);
$SQLSyte = $stmt->fetch();
if($SQLSyte==false)
{
echo '<table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">';
echo '<tr>';
echo '<td colspan="4" id="marg">';
echo $SQLUSER->url;
echo '<hr class="style-three" />';
echo '</td>';
echo '</tr>';
echo '</table>';
}
} 

Автор: kester36 5.8.2015, 18:41
Код
//Подсветку кода нужно использовать

как-то так
Код

SELECT * FROM asp_ads
WHERE status=? and zaloba<?
and id not in (SELECT id_site FROM asp_ads_history where user=? and timeserf>?)
ORDER BY vip DESC


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/obedeneniye-dvukh-zaprosov-v-odin-(PDO)-id55c0f049ae201515508b4567#findElement_E7045_55c22ea7ae20153e202ec182_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)