Claro que se puede hacer en un único select, pero con subselect. Realmente creo que la subconsulta que tienes ahí te sobra, esto es lo mismo que tienes ahí:
Código MySQL:
Ver originalSELECT sp.tCodEstatus
AS Estatus
, sp.tCodPerfil
, count(su.tCodPerfil
) AS NumeroUsuarios
, count(ss.tCodPerfil
) AS NumeroSecciones
LEFT JOIN sisUsuarios su
ON sp.tCodPerfil
= su.tCodPerfil
LEFT JOIN sisSeccionesPerfiles ss
ON sp.tCodPerfil
= ss.tCodPerfil
WHERE sp.tCodEstatus
<> 'EL'
Sólo para sacar el número de usuarios:
Sólo para sacar el número de secciones:
Ambos:
Código MySQL:
Ver originalSELECT NU.Estatus
, NU.tCodPerfil
, NU.NumeroUsuarios
, NS.NumeroSecciones
(SELECT sp.tCodEstatus
AS Estatus
, sp.tCodPerfil
, count(su.tCodPerfil
) AS NumeroUsuarios
LEFT JOIN sisUsuarios su
ON sp.tCodPerfil
= su.tCodPerfil
WHERE sp.tCodEstatus
<> 'EL' GROUP BY sp.tCodEstatus
, sp.tCodPerfil
) NU
, (SELECT sp.tCodEstatus
AS Estatus
, sp.tCodPerfil
, count(ss.tCodPerfil
) AS NumeroSecciones
LEFT JOIN sisSeccionesPerfiles ss
ON sp.tCodPerfil
= ss.tCodPerfil
WHERE sp.tCodEstatus
<> 'EL' GROUP BY sp.tCodEstatus
, sp.tCodPerfil
) NS
WHERE NU.tCodPerfil
= NS.tCodPerfil
No lo he probado porque no tengo tiempo, pero creo seguro que las dos por separado funcionan, si la unión de las dos no funciona prueba de distintas formas, pero la idea va por ahí.
Un saludo.