SQL Server - Comparar registros de una misma tabla

 
Vista:
sin imagen de perfil

Comparar registros de una misma tabla

Publicado por Jhonatanr (3 intervenciones) el 21/07/2014 18:09:29
Buen día, por favor necesito ayuda con la consulta de una misma tabla de SQL Server.

Tengo datos duplicados en una misma tabla por el campo IDENTIDAD y necesito seleccionar solo una según cumpla diferentes condiciones, según sea el caso podemos insertar otro campo para identificar el registro que gana entre 1 y 0.

ejemplo.

ID | IDENTIDAD| FECHA | ESTADO | PESO_ESTADO | BASE
0701 | 2405 | 07/07/2014 | Aprobada | 1 | 1
0702 | 2405 | 07/07/2014 | Aprobada | 1 | 2
-----------------------------------------------------------------------------------------------------
0706 | 1308 | 07/07/2014 | Evaluación | 2 | 1
0705 | 1308 | 06/07/2014 | Evaluación | 2 | 2
-----------------------------------------------------------------------------------------------------
0708 | 4321 | 09/07/2014 | Evaluación | 2 | 2
0709 | 4321 | 09/07/2014 | Observado | 3 | 1
------------------------------------------------------------------------------------------------------
0708 | 5893 | 09/07/2014 | Aprobada | 1 | 2
0709 | 5893 | 10/07/2014 | Observado | 3 | 1

Caso_1: Misma FECHA , Mismo ESTADO = "Gana quien tenga menos valor en el campo BASE"
Caso_2: Diferente FECHA, Mismo ESTADO = "Gana quien tenga menos valor en el campo BASE"
Caso_3: Misma FECHA, Diferente ESTADO = "Gana quien tenga menos valor en el campo PESO_ESTADO"
Caso_4: Diferente FECHA, Diferente ESTADO = "Gana quien tenga menos valor en el campo PESO_ESTADO"

Gracias de antemano por sus pronto aportes.
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Comparar registros de una misma tabla

Publicado por Isaias (4558 intervenciones) el 21/07/2014 20:29:55
No veo forma de lograr lo que deseas, si no es que FORMANDO GRUPO DE INFORMACION, ya que solo "TU", sabes como deberán compararse los campos y quien gana o no.
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

Comparar registros de una misma tabla

Publicado por SQL MASTER (1 intervención) el 22/07/2014 22:34:41
Veo que tu ejercicio carece de sentido.
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

Comparar registros de una misma tabla

Publicado por Jhonatanr (3 intervenciones) el 22/07/2014 23:04:19
Aquí algo en lo que estuve trabajando, pero aun no obtengo el resultado buscado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
select c.fecha, c.identidad, c.peso_estado, min(c.base) base
from Tabla c,
(
	select a.fecha, a.identidad, a.peso_estado, min(a.base) base
	from Tabla a,
	(
		select m.fecha, m.identidad, m.base, min(m.peso_estado) peso_estado
		from Tabla m,
		(
			select x.fecha, x.identidad, x.base, min(x.peso_estado) peso_estado
			from Tabla x,
			(
				select o.*
				from Tabla o
				-- tabla --> donde se encuentran todos los registros duplicados
			) q
			where x.fecha = q.fecha
			and x.identidad = q.identidad
			group by x.fecha, x.identidad, x.base
		)n
		where m.fecha <> n.fecha
		and m.identidad = n.identidad
		group by m.fecha, m.identidad, m.base
	)b
	where a.fecha = b.fecha
	and a.identidad =b.identidad
	group by a.fecha, a.identidad, a.peso_estado
)d
where c.fecha <> d.fecha
and c.identidad = d.identidad
group by c.fecha, c.identidad, c.peso_estado
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