Estoy tratando de crear una vista que me muestre para cada tipo de usuario, la cantidad de problemas reportados, la fecha mas antigua en la que se resolvio un problema, y la fecha mas antigua en la que un problema quedo sin resolver.
La consulta la arme asi:
Código SQL:
Ver original
]SELECT DISTINCT u.user_tipo_codigo,(SELECT COUNT(p.problem_id) FROM problemas p WHERE u.user_id = p.user_id) AS cantproblemas, (SELECT MIN(fechahora_solucionado) FROM problemas p1, historia_problemas h WHERE p1.problem_id=h.problem_id AND fechahora_solucionado IS NOT NULL) AS fechaantiguasolucion, (SELECT MIN(problem_fechahora) FROM problemas p2, historia_problemas h1 WHERE p2.problem_id=h1.problem_id AND fechahora_solucionado IS NULL) AS fechaantiguasinsolucion FROM usuarios u
El problema es que me devuelve por ejemplo:
Admin, 0, 12/08/1991, 04/07/2014
Admin,16,12/08/1991,04/07/2014
y asi para cada tipo de usuario que tengo registrado en la tabla. Yo lo que quisiera es que me devolviera una fila por cada tipo de usuario
Estos son los campos que tienen las tablas que estoy usando:
Problemas (
[problem_id] INTEGER IDENTITY(1,1) NOT NULL,
[Equipamiento_id] INTEGER NOT NULL,
[user_id] INTEGER NOT NULL,
[problem_fechahora] DATETIME NOT NULL,
[problem_descrip] VARCHAR(255),
CONSTRAINT [PK_Problemas] PRIMARY KEY ([problem_id])
)
Historia_Problemas (
[Historia_Problemas_id] INTEGER IDENTITY(1,1) NOT NULL,
[codigo_nivel_prioridad] CHAR(20) NOT NULL,
[problem_id] INTEGER NOT NULL,
[problem_status_codigo] CHAR(20) NOT NULL,
[personal_asignado] INTEGER NOT NULL,
[fechahora_solucionado] DATETIME,
CONSTRAINT [PK_Historia_Problemas] PRIMARY KEY ([Historia_Problemas_id])
)
Usuarios (
[user_id] INTEGER IDENTITY(1,1) NOT NULL,
[user_tipo_codigo] CHAR(20) NOT NULL,
[user_nombre] VARCHAR(80),
[user_apellido] VARCHAR(80),
[user_telefono] VARCHAR(80),
[user_email] VARCHAR(80),
[user_direccion] VARCHAR(255),
[user_otros_datos] VARCHAR(255),
CONSTRAINT [PK_Usuarios] PRIMARY KEY ([user_id])
)
Les agradezco si me pudiese ayudar