В необработанном вами запросе нет условия where()
для основного запроса
SELECT debitur.lao, debitur.Outstanding, debitur.jumlah, resume.Target
FROM
(SELECT lao, SUM(outstanding) as Outstanding, COUNT(lao) as jumlah FROM debitur GROUP BY lao) debitur
INNER JOIN
(SELECT lao, SUM(tgt_pergeseran) as Target FROM resume GROUP BY lao) resume
ON debitur.lao = resume.lao
Если это полный и правильный запрос, который показывает правильные результаты в вдове phpmyadmin, вам нужно использовать подзапрос, как показано ниже
$subQueryFrom = new \yii\db\Query();
$subQueryFrom->select(['lao', new \yii\db\Expression('SUM(outstanding) as Outstanding, COUNT(lao) as jumlah')])
->from('debitur')
->groupBy('lao');
$subQueryJoin = new \yii\db\Query();
$subQueryJoin->select(['lao', new \yii\db\Expression('SUM(tgt_pergeseran) as Target')])
->from('resume')
->groupBy('lao');
$query = new \yii\db\Query();
$results = $query->select(['debitur.lao', 'debitur.Outstanding', 'debitur.jumlah', 'resume.Target'])
->from(['debitur' => $subQueryFrom])
->innerJoin(['resume' => $subQueryJoin], 'debitur.lao = resume.lao')
->all();
Теперь вы можете использовать $result
в своем представлении, которое содержит записи по вашему запросу.
return $this->render('outstanding', [
'results' => $results,
]);