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

Select Distinct(*)???

Estas en el tema de Select Distinct(*)??? en el foro de SQL Server en Foros del Web. Hola, Explico: Estaba tratandop de obtener los registros unicos de una tabla y por tanto hacia: SELECT DISTINCT(*) FROM tabla Segun yo sabía, la cantidad ...
  #1 (permalink)  
Antiguo 16/09/2005, 10:08
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 20 años, 4 meses
Puntos: 0
Pregunta Select Distinct(*)???

Hola, Explico:

Estaba tratandop de obtener los registros unicos de una tabla y por tanto hacia:

SELECT DISTINCT(*) FROM tabla

Segun yo sabía, la cantidad de registros que se debían retornar era 1000,
sin embargo, me retornaba 1003, es decir, devolvia 3 registros duplicados.

SE, que la forma correcta (y funciona) es con

SELECT DISTINCT * FROM tabla

lo cual si retorna los 1000 registros deseados.

La pregunta es meramente academica, ya que el problema esta resuelto.

Estoy trabajando con INTERBASE y me acepta las dos sentencias (SQL SERVER no acepta el distinct con parentesis).

Alguien sabe que esta interpretando el server cuando le paso el distinct con parentesis?
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #2 (permalink)  
Antiguo 19/09/2005, 15:58
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 23 años
Puntos: 11
La diferencia radica en que sin el parentesis le estas diciendo que te extraiga los diferentes de la tabla (1000 registros); cuando le pones el parentesis primero haces la consulta * lo que te extrae todas las tublas existentes y de esa consulta traer las diferentes.... como ex una vista (consulta) internamente le pone un ID por lo tanto no hay duplicados.
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
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 23:51.