Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2014, 18:26
jiradesca
 
Fecha de Ingreso: julio-2014
Mensajes: 4
Antigüedad: 9 años, 9 meses
Puntos: 0
Resultados duplicados utilizando clausula DISTINCT

Muy buenas.

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
  1. ]SELECT DISTINCT u.user_tipo_codigo,(SELECT COUNT(p.problem_id)
  2. FROM problemas p
  3. WHERE u.user_id = p.user_id) AS cantproblemas, (SELECT MIN(fechahora_solucionado) FROM problemas p1, historia_problemas h
  4. WHERE p1.problem_id=h.problem_id
  5. 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
  6. AND fechahora_solucionado IS NULL) AS fechaantiguasinsolucion
  7. 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

Última edición por gnzsoloyo; 11/07/2014 a las 07:34