Hola amig@s.
Mi duda surge a la hora de contar los registros de una tabla agrupados por 2 campos y coincidentes con otras 2 tablas externas, contando también los que no tienen registros como 0.
Me explico mejor. Tengo una tabla 'servicios' que tiene, entre otre otros, 3 campos clave para mi consulta. Estos son empresa, caracter y tipo.
Resulta que yo soy el coordinador regional de esta empresa y en mi comunidad tengo varias empresas a mi cargo. Hay varios tipos de servicios que ofrecemos y estos servicios pueden ser de 2 caracteres, públicos o privados.
Como ya os he dicho, yo llevo varias empresas, pero me encuentro situado en una(tecnico, id_empresa), aunque esta empresa pertenece a la comunidad autónoma que abarca todas.
Ahora, debería saber el número de servicios registrados de cada tipo y caracter sólo de las empresas de mi ámbito.
Algo como ésto:
Código SQL:
Ver originaltipos | Caracter | COUNT(*)
------------------------------------------
tipo1 | Público |
-------------------------------------------
tipo1 | Privado |
------------------------------------------
tipo2 | Público |
-------------------------------------------
tipo2 | Privado |
---------------------------------------------
tipo3 | Público |
-----------------------------------------------
tipo3 | Privado |
Ahí deben aparecer todos los tipos de la tabla tipos con los 2 caracteres, hayan o no servicios relacionados.
My consulta en estos momentos es
Código SQL:
Ver originalSELECT nombre_tipo, nombre_caracter, COUNT(*) FROM servicios s(v), tipos t(tv), caracte c(cv) WHERE s.id_tipo = t.id_tipo AND s.id_caracter = c.id_caracter AND s.id_empresa IN(SELECT e.id_empresa FROM empresas e WHERE id_comunidad IN(SELECT id_comunidad FROM empresas e, tecnicos t WHERE e.id_empresa = t.id_empresa AND id_tecnico = '$id_tec')) AND s.id_caracter IS NOT NULL
GROUP BY s.id_tipo, s.id_caracter
Esto me arroja sólo el resultado de los tipos de los que hay servicios realizados, pero los otros nada. Y lo que me gustaría sería listar todos los tipos, los caracteres por tipo y el número de servicios aunque sea 0.
Me he explicado bien? Espero no haberos aburrido.
Un saludo y gracias!!