[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: собрать запросы в один
123456
Запросы представлены в упрощенном виде!!!

Первый запрос:

select id from table1


Второй запрос:

select num from table2 LIMIT 1



Необходимо сделать примерно такой запрос:

(количество полученных строк в первом запросе - num из второго запроса) AS kol;
if (kol > 0)
{
select num from table3 WHERE id NOT IN (данные из первого запроса) LIMIT kol
}
else
return false



Возможно ли сделать такое?
123456
Сейчас у меня выполняется с использованием php таким образом:

$num = DB::q("select id from table1");

$max = DB::q("select num from table2 limit 1");

$kol = $max->fetch_assoc()['num'] - $num->num_rows;

if (1 > $kol)
return false;

$m = '';

while ($row = $num->fetch_assoc())
{
if ($m) $m = ', ';
$m .= $row['id'];
}

$sql = DB::q("select num from table3 WHERE id NOT IN (". $m .") LIMIT ". $kol);


но думаю, это можно переделать в один большой запрос
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.