MySQL - Contar registros si aparecen en otra tabla, si no colocar 0

 
Vista:

Contar registros si aparecen en otra tabla, si no colocar 0

Publicado por endersson garcia (1 intervención) el 30/11/2021 15:23:09
quiero contar la cantidad de pacientes que afilio cada representante, para identificarlos el RepresentanteID aparece en la tabla de pacientes, y es por fecha, la consulta actual me muestra solo los representantes que afiliaron pero no los que no, es decir los pacientes que estan fuera de esa fecha no me los afilia como puedo incluirlos, para que aparezcan todos los representantes y si no aparecen en colocar cero
1
2
3
4
5
6
7
8
9
SELECT
R.*,
count(P.TarjetaID)
FROM representante R
LEFT JOIN tarjeta T ON T.RepresentanteID = R.RepresentanteID
LEFT JOIN paciente P on P.TarjetaID = T.TarjetaID
where P.PacFechaAfiliacion BETWEEN '2021-11-01' and '2021-11-30'
GROUP BY R.RepresentanteID
ORDER BY `R`.`RepresentanteID` ASC
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Contar registros si aparecen en otra tabla, si no colocar 0

Publicado por Martha (80 intervenciones) el 01/12/2021 21:01:09
No entiendo bien tu consulta.

No entiendo por qué cuentas tarjetas, si la información que buscas ya la tienes en dos tablas y ninguna de ellas es tarjeta. Cuenta pacientes en lugar de tarjetas.

Dices que en la tabla pacientes hay: Fecha de afiliación, id de representante e Id de paciente.

Yo haría esto:

1
2
3
4
5
Select R.*, COUNT(P.paciente_id) FROM representante R
LEFT JOIN paciente P ON P.RepresentanteID= R.RepresentanteID
WHERE P.PacFechaAfiliacion BETWEEN '2021-11-01' and '2021-11-30'
GROUP BY R.RepresentanteID
ORDER BY `R`.`RepresentanteID` ASC

De esta forma te deben aparecer TODOS los RepresentanteID y los que no tengan afiliados debe decir que es NULL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Contar registros si aparecen en otra tabla, si no colocar 0

Publicado por endersson enrique (1 intervención) el 01/12/2021 23:09:05
Martha muchas gracias por responder creo que es por la fecha, ya que solo toma en cuenta los pacientes que estan dentro de esa fecha, por que mira
1

la consulta solo me arrojo los representantes con pacientes dentro de esa fecha, tambien tengo que mostrar los representantes que no afiliaron denttro de esa fecha, es decir que tendrian cero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar