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

SELECT con valores únicos y resto de campos

Estas en el tema de SELECT con valores únicos y resto de campos en el foro de SQL Server en Foros del Web. Hola, tengo una tabla de este estilo: Campo 1 | Campo 2 | Campo 3.... Valor 1 Valor 2 Valor 3 Valor 1 Valor 4 ...
  #1 (permalink)  
Antiguo 14/04/2010, 03:45
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
SELECT con valores únicos y resto de campos

Hola,

tengo una tabla de este estilo:

Campo 1 | Campo 2 | Campo 3....
Valor 1 Valor 2 Valor 3
Valor 1 Valor 4 Valor 5
Valor 1 Valor 6 Valor 7
Valor 1 Valor 6 Valor 8
Valor 2 Valor 6 Valor 7
Valor 2 Valor 6 Valor 7

etc.

Necesito hacer una consulta y que me quede así:

Campo 1 | Campo 2 | Campo 3....
Valor 1 Valor2 Valor 3
Valor 2 Valor 6 Valor 7

es decir, recoger los valores únicos para el Campo 1 y el resto de campos me da igual el valor que cojan!

No soy capaz de hacerlo..
  #2 (permalink)  
Antiguo 14/04/2010, 16:09
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Respuesta: SELECT con valores únicos y resto de campos

El problema se soluciona asignando un número de orden a las filas. En caso de que uses SQL Server 2000, quizá debas usar una tabla temporal y la función identity para asignar el número de orden. En SQL Server 2005, tienes las funciones de Ranking. Te dejo un ejemplo para 2005 y 2008
Código:
DECLARE @Valores AS TABLE(
    Campo1    VARCHAR(10) NOT NULL,
    Campo2    VARCHAR(10) NOT NULL,
    Campo3    VARCHAR(10) NOT NULL
)
INSERT INTO @Valores
SELECT    'Valor 1', 'Valor 2', 'Valor 3' UNION ALL
SELECT    'Valor 1', 'Valor 4', 'Valor 5' UNION ALL
SELECT    'Valor 1', 'Valor 6', 'Valor 7' UNION ALL
SELECT    'Valor 1', 'Valor 6', 'Valor 8' UNION ALL
SELECT    'Valor 2', 'Valor 6', 'Valor 7' UNION ALL
SELECT    'Valor 2', 'Valor 6', 'Valor 7'


--Para SQL Server 2005 - 2008
SELECT    seq.Campo1, seq.Campo2, seq.Campo3
FROM    (
            SELECT    ROW_NUMBER() OVER(PARTITION BY Campo1 ORDER BY Campo2, Campo3) AS rn,
                    Campo1, Campo2, Campo3
            FROM    @Valores
        ) AS seq
WHERE    seq.rn = 1
  #3 (permalink)  
Antiguo 14/04/2010, 16:53
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: SELECT con valores únicos y resto de campos

Estoy utilizando Access 2003, por lo que supongo que no me servirá :(
  #4 (permalink)  
Antiguo 14/04/2010, 23:35
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Respuesta: SELECT con valores únicos y resto de campos

Pues, mira no soy experto en access. Pero la solución al problema es simple siempre que se tenga un valor único que identifique la fila en su grupo y que permita determinar su posición ordinal. ¿hay alguna columna extra en la tabla de donde tomas los datos? ¿algun Id? ¿alguna fecha? Me parece que en Access cuentas con la función First, que en combinación con las funciones de agregado solucionarían tu problema.
Publica tu pregunta en el foro adecuado (me acabo de fijar que no hay uno de access, ni modo).

Saludos.

Última edición por Beakdan; 14/04/2010 a las 23:46
  #5 (permalink)  
Antiguo 15/04/2010, 00:48
 
Fecha de Ingreso: abril-2010
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: SELECT con valores únicos y resto de campos

Cita:
Iniciado por Beakdan Ver Mensaje
Pues, mira no soy experto en access. Pero la solución al problema es simple siempre que se tenga un valor único que identifique la fila en su grupo y que permita determinar su posición ordinal. ¿hay alguna columna extra en la tabla de donde tomas los datos? ¿algun Id? ¿alguna fecha? Me parece que en Access cuentas con la función First, que en combinación con las funciones de agregado solucionarían tu problema.
Publica tu pregunta en el foro adecuado (me acabo de fijar que no hay uno de access, ni modo).

Saludos.
Desgraciadamente no tengo ningún valor único que identifique la fila. A pesar de que no hay registros duplicados, en cada registro el valor que diferencia una fila de la otra puede ser de diferente columna.
  #6 (permalink)  
Antiguo 15/04/2010, 10:06
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: SELECT con valores únicos y resto de campos

Cita:
Iniciado por joseantgv Ver Mensaje
Estoy utilizando Access 2003, por lo que supongo que no me servirá :(
Entonces sería mejor que hagas la consulta en el foro Base de datos.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: campos, select
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 01:01.