Hola a todos.
Estas dos consultas generan el mismo resultado, una hace tres subconsultas y la otra utiliza LEFT JOIN dos veces y hace una subconsulta.
Cual de las dos es mas eficaz o gasta menos recursos??
1.
$_consulta = sprintf("SELECT emp.value AS empresa, nom.value AS nombre, factura.id_fac, factura.print_fac, factura.num_fac, factura.fecha_creacion_fac, factura.estado_fac, (SELECT sum(pvp_factura_det) FROM conta_detalle_factura WHERE id_factura_det=factura.id_fac) AS pvp FROM conta_facturas AS factura LEFT JOIN profile_values AS emp ON emp.fid=%s && emp.uid=factura.uid_fac LEFT JOIN profile_values AS nom ON nom.fid=%s && nom.uid=factura.uid_fac WHERE factura.uid_fac>1 ".$where." ORDER BY ".$orderBy, $fid,$fnom);
2.
$_consulta = sprintf("SELECT factura.id_fac, factura.print_fac, factura.num_fac, factura.fecha_creacion_fac, factura.estado_fac, (SELECT sum(pvp_factura_det) FROM conta_detalle_factura WHERE id_factura_det=factura.id_fac) AS pvp, (SELECT value FROM profile_values WHERE profile_values.fid=%s && profile_values.uid=factura.uid_fac) AS empresa, (SELECT value FROM profile_values WHERE profile_values.fid=%s && profile_values.uid=factura.uid_fac) AS nombre FROM conta_facturas AS factura WHERE factura.uid_fac>1 ".$where." ORDER BY ".$orderBy, $fid, $fnom);
Un saludo