Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Una misma persona muchas fechas. Necesito las q tiene una sola fecha en particular.

Estas en el tema de Una misma persona muchas fechas. Necesito las q tiene una sola fecha en particular. en el foro de SQL Server en Foros del Web. Hola. Tengo una tabla: T1: dni, fecha, y otros atributos. En T1 ocurre esto: dni Fecha 1 A 1 B 1 C 2 B 3 ...
  #1 (permalink)  
Antiguo 20/01/2011, 15:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 16 años, 2 meses
Puntos: 0
Una misma persona muchas fechas. Necesito las q tiene una sola fecha en particular.

Hola.

Tengo una tabla:

T1: dni, fecha, y otros atributos.

En T1 ocurre esto:
dni Fecha
1 A
1 B
1 C
2 B
3 C
3 D
4 B
4 B

Quiero que me devuelva todos los dni que en cada aparición en la tabla tenga una determinada fecha siempre. Por ejemplo, si la fecha elegida es B. Me tendría que devolver 2 y 4. No me debería devolver 1 ni 3, porque ambos tienen al menos una fila con fecha diferente a B.

Como sería la consulta?

Gracias. Si no se entiende, avisen y mejoro la explicación.
  #2 (permalink)  
Antiguo 20/01/2011, 15:31
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Una misma persona muchas fechas. Necesito las q tiene una sola fecha en pa

Hola marcelok1985

Prueba con esto

Código SQL:
Ver original
  1. DECLARE @Tabla TABLE (dni INT, fecha VARCHAR)
  2. INSERT INTO @Tabla VALUES(1, 'A')
  3. INSERT INTO @Tabla VALUES(1, 'B')
  4. INSERT INTO @Tabla VALUES(1, 'C')
  5. INSERT INTO @Tabla VALUES(2, 'B')
  6. INSERT INTO @Tabla VALUES(3, 'C')
  7. INSERT INTO @Tabla VALUES(3, 'D')
  8. INSERT INTO @Tabla VALUES(4, 'B')
  9. INSERT INTO @Tabla VALUES(4, 'B')
  10.  
  11. SELECT * FROM @Tabla
  12.  
  13. SELECT DISTINCT * FROM @Tabla T1 WHERE fecha = 'B' AND NOT EXISTS
  14. (SELECT * FROM @Tabla T2 WHERE fecha != 'B' AND T1.dni = T2.dni )

Por supuesto que tienes que cambiar las comparaciones de letras por fechas, pero la idea es la misma.

Saludos
Leo.
  #3 (permalink)  
Antiguo 20/01/2011, 15:36
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Una misma persona muchas fechas. Necesito las q tiene una sola fecha en pa

Leonardo

Creo que esta codificacion: != 'B'

Ya NO FUNCIONA para 2005
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 21/01/2011, 09:47
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 3 meses
Puntos: 39
Respuesta: Una misma persona muchas fechas. Necesito las q tiene una sola fecha en pa

Y si no me equivoco no se recomienda ese uso, sino NOT campo = 'valor'
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 21/01/2011, 12:17
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Una misma persona muchas fechas. Necesito las q tiene una sola fecha en pa

Cita:
Iniciado por iislas Ver Mensaje
Leonardo

Creo que esta codificacion: != 'B'

Ya NO FUNCIONA para 2005
Hola Iislas... La prueba la realicé justamente sobre un servidor 2005, y funcionó perfectamente, no recuerdo que ya no se aceptara esta codificación, pero es cuestión de darle una checada a la documentación. Gracias por el comentario

Flaviovich, la sintaxis que mencionas es correcta por lo que también funciona perfectamente.

Es cuestión entonces de que marcelok1985 nos haga los comentarios pertinentes.

saludos
  #6 (permalink)  
Antiguo 21/01/2011, 12:49
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Una misma persona muchas fechas. Necesito las q tiene una sola fecha en pa

leonardo

Manejelo y uselo como mejor le convenga, Saludos
__________________
MCTS Isaias Islas

Etiquetas: fechas, muchas, persona
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:20.