Tengo la siguiente situación y necesito hacer una consulta, y no se cómo anidar subconsultas en DQL.
Tengo una tabla de usuarios.
Dentro de esa tabla hay Vendedores y Representantes.
Los vendedores tienen:
---- ID,
---- Nombre
---- Perfil (ROLE_REPRESENTATIVE, ROLE_SELLER)
---- Estado (1=DECLINE | 2 = ON_HOLD | 3 = APPROVED)
Ejemplo de Tabla Usuarios:
-----ID-----------Name------------------PROFILE------------STATUS----REPRESENTATIVE_ID----
------1--------Representante_1-------ROLE_REPRESENTATIVE--------3-----------NULL-----
------2--------seller_1--------------ROLE_SELLER-----------------3------------1-----
------3--------seller_2--------------ROLE_SELLER-----------------3------------1-----
------4--------seller_3--------------ROLE_SELLER-----------------2------------1-----
------5--------Representante_2-------ROLE_REPRESENTATIVE--------3-----------NULL-----
------6--------Representante_3-------ROLE_REPRESENTATIVE--------3-----------NULL-----
------7--------seller_4--------------ROLE_SELLER-----------------2------------5-----
------8--------seller_5--------------ROLE_SELLER-----------------2------------5-----
------9--------seller_6--------------ROLE_SELLER-----------------2------------5-----
-----10--------seller_7--------------ROLE_SELLER-----------------3------------1-----
-----11--------seller_8--------------ROLE_SELLER-----------------3------------1-----
Los vendedores tienen responsables (representatives) que es una relación 1-N entre Users y Users.
Entonces, necesito sacar todos los representantes (id + nombre) y el total de vendedores que no están aprobados (status = 2) (status = 2 = ON_HOLD)
Obtener Representantes
Código:
Obtener los vendedores "pendientes" de aprobarSELECT representatives FROM AppBundle:User representatives WHERE representatives.profile = 'ROLE_REPRESENTATIVE' GROUP BY representatives.id ORDER BY representatives.id DESC
Código:
Finalmente me queda saber cómo combinar esto para sacar:SELECT sellers FROM AppBundle:User sellers WHERE sellers.profile = 'ROLE_SELLER' AND sellers.status = 2 GROUP BY sellers.id ORDER BY sellers.id DESC
-----ID-----------Nombre---------------TotalVendedoresPendientesAprobar----
------1--------Representante_1----------------------------40-----------------
------5--------Representante_2----------------------------27-----------------
------6--------Representante_3----------------------------12-----------------
¿Cómo se podría hacer esta consulta en 1 sola?