Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas...
Eu tenho esta consulta em MySQLi
$query = array();
$query[] = "SELECT `c`.*, ";
$query[] = "COUNT(`sa`.`id`) as `contas_alojamento`, ";
$query[] = "COUNT(`sr`.`id`) as `contas_revenda` ";
$query[] = "FROM `clientes` as `c`";
// Contas de Alojamento
$query[] = "LEFT JOIN `servicos_alojamento` as `sa` ON `sa`.`cid`='" . $id . "' AND `sa`.`revenda`='0'";
// Contas de Revenda
$query[] = "LEFT JOIN `servicos_alojamento` as `sr` ON `sr`.`cid`='" . $id . "' AND `sr`.`revenda`='1'";
$query[] = " WHERE `c`.`id`='" . $id . "'";
Ele funciona, mas o total das 'contas_alojamento' e 'contas_revenda' é sempre igual, ou seja, neste caso tenho 3 registos:
ID | CID | Revenda
01 | 001 | 0
02 | 001 | 1
03 | 001 | 0
Portanto ele deveria retornar:
'contas_alojamento' = 2
'contas_revenda' = 1
mas ele assume sempre 2 no contas_revenda
O que me está a faltar na consulta?
Abraços!
Carregando comentários...