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

Hacer un distinct de 3 campos

Estas en el tema de Hacer un distinct de 3 campos en el foro de SQL Server en Foros del Web. HOla amigos, Tengo una vista que me regresa 8 campos, pero necesito hacerle un DINSTINCT solamente a 3 campos, trate lo siguiente: Código: SELECT DISTINCT ...
  #1 (permalink)  
Antiguo 06/10/2008, 11:26
Avatar de locojars  
Fecha de Ingreso: mayo-2002
Mensajes: 265
Antigüedad: 22 años
Puntos: 4
Exclamación Hacer un distinct de 3 campos

HOla amigos,

Tengo una vista que me regresa 8 campos, pero necesito hacerle un DINSTINCT solamente a 3 campos, trate lo siguiente:

Código:
SELECT DISTINCT CODIGO_PROYECTO,CODIGO_GRUPO, CODIGO_SUPERVISOR
Lo anterior me lo ejecuta correcto, pero solamente me devuelve los campos del distnct y yo necesito que me devuelva todos campos y ademas haga el distinct solo por esos 3 campos.

Tambien hice prueba con lo siguiente:

Código:
SELECT DISTINCT CODIGO_PROYECTO, CODIGO_GRUPO, CODIGO_SUPERVISOR, CODIGO_PROYECTO AS Expr1, NOMBRE_PROYECTO, CODIGO_SUCURSAL, NOMBRE_SUCURSAL, CODIGO_GRUPO AS Expr2, NOMBRE_GRUPO, CODIGO_SUPERVISOR AS Expr3, NOMBRE_SUPERVISOR
FROM GRUPOS_DATOS_GRALES
Y ejecuta y muestra los datos que yo quiero, pero de lo que no estoy seguro es que si el distinct lo hace solo de los primeros 3 campos o de todos.

Gracias por su ayuda

Salu2
JARS
__________________
No le digas a Jehová que tan grande es tu problema, dile a tu problema cuan grande es Jehová.
  #2 (permalink)  
Antiguo 06/10/2008, 12:56
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 6 meses
Puntos: 8
Respuesta: Hacer un distinct de 3 campos

Lo hace para todos..

Puedes hacer los siguiente, aunque dudo que te sirva de algo , pues al final te devolvera todos los registros de la tabla GRUPOS_DATOS_GRALES, porque no mejor nos comentas y pones ejemplos de resultado de lo que quieres obtener.

Código:
SELECT CODIGO_PROYECTO, CODIGO_GRUPO, CODIGO_SUPERVISOR, CODIGO_PROYECTO AS Expr1, NOMBRE_PROYECTO, CODIGO_SUCURSAL, NOMBRE_SUCURSAL, CODIGO_GRUPO AS Expr2, NOMBRE_GRUPO, CODIGO_SUPERVISOR AS Expr3, NOMBRE_SUPERVISOR
FROM GRUPOS_DATOS_GRALES g1, 
          (  SELECT DISTINCT CODIGO_PROYECTO, CODIGO_GRUPO,
                                          CODIGO_SUPERVISOR
             FROM GRUPOS_DATOS_GRALES ) As g2
WHERE g1.CODIGO_PROYECTO    = g2.CODIGO_PROYECTO
AND      g1.CODIGO_GRUPO          = g2.CODIGO_GRUPO
AND      g1.CODIGO_SUPERVISOR = g2.CODIGO_SUPERVISOR
Saludos!
  #3 (permalink)  
Antiguo 06/10/2008, 13:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Hacer un distinct de 3 campos

El motor se comporta de una forma mas eficiente, si hace mencion con JOIN en las consultas de 1 o mas tablas anidadas.
  #4 (permalink)  
Antiguo 09/10/2008, 08:48
 
Fecha de Ingreso: marzo-2006
Mensajes: 66
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: Hacer un distinct de 3 campos

Hola, espero no les moleste que aproveche este tema para hacer mi pregunta,
si me equivocase de lugar pido disculpas de antemano.

Pasa que tengo dudas en si hacer una consulta SQL con un DISTINCT es lo mismo que darle un GROUP BY???

saludos...

pd:locojars espero no te moleste usar tu tema... :)
  #5 (permalink)  
Antiguo 09/10/2008, 09:55
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Hacer un distinct de 3 campos

En esta liga, se explica a detalle las diferencias entre ambas clausulas:

http://www.netveloper.com/contenido2.aspx?IDC=58_0
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 13:35.