Php fluentPDO中的子查询

Php fluentPDO中的子查询,php,mysql,fluentpdo,Php,Mysql,Fluentpdo,我试图将此查询“翻译”为fluentPDO语句,但找不到一种方法将子查询用于它 SELECT plan.*, COUNT(DISTINCT click.id) AS clicks, COUNT(DISTINCT impression.id) as impressions, IFNULL(A.earnings, 0) AS earnings FROM plan LEFT JOIN click ON click.plan_id = plan.id LEFT JOIN impression ON im

我试图将此查询“翻译”为fluentPDO语句,但找不到一种方法将子查询用于它

SELECT plan.*, COUNT(DISTINCT click.id) AS clicks, COUNT(DISTINCT impression.id) as impressions, IFNULL(A.earnings, 0) AS earnings FROM plan
LEFT JOIN click ON click.plan_id = plan.id
LEFT JOIN impression ON impression.plan_id = plan.id
LEFT JOIN (
    SELECT plan_id AS earnings_id, SUM(signup.earning) as earnings FROM signup
) A ON A.earnings_id = plan.id
GROUP BY plan.id

有什么帮助吗?

我不知道有什么比将原始SQL子查询放入leftJoin方法更好的方法:

$fluent->from('plan')
->select('COUNT(DISTINCT click.id) AS clicks, COUNT(DISTINCT impression.id) as impressions, IFNULL(A.earnings, 0) AS earnings')
->leftJoin('click ON click.plan_id = plan.id')
->leftJoin('impression ON impression.plan_id = plan.id')
->leftJoin('(SELECT plan_id AS earnings_id, SUM(signup.earning) as earnings FROM signup) A ON A.earnings_id = plan.id')
->groupBy('plan.id');
我觉得很有用,但他们没有提到子查询。他们还建议您不需要显式地左键连接click to plan和impression to plan,但在实践中,我无法判断FluentPDO将以何种方式推断两个表之间的关系