PHP-MySQLi-Database-Class - как использовать подзапрос SELECT? - PullRequest
0 голосов
/ 21 октября 2019

Я использую 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 (), чтобы все это было хорошо закодировано?

...