Я использую PHP-MySQLi-Database-Class и в настоящее время использую этот подзапрос с плохим стилем в моем скрипте:
$users = $this->_db->get("users u", null, "
u.*,
COUNT(o.id) as total_orders,
sum(o.total) as total_revenue,
max(o.date) as last_order_date,
am.firstname as am_firstname,
am.surname as am_surname,
bdr.firstname as bdr_firstname,
bdr.surname as bdr_surname,
// This is subquery that I want to change to subQuery():
(SELECT count(s2.id) FROM ".$mysql['pre']."stats s2 WHERE s2.stat_type = 'lapsed' AND s2.userid = u.userid) as lapsed_count,
s.date as lapsed_date"
);
Я нашел $ db-> subQuery () функция в документации, но я не вижу ни одного примера, как использовать ее в моей ситуации (у них есть пример для использования с IN, но не так, как я использую это).
Можете ли вы помочь мне, как я могу изменить свой странный код подзапроса (который использует префикс таблицы и обычный запрос RAW) на этот метод класса subQuery (), чтобы все это было хорошо закодировано?