Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/04/2010, 16:09
Avatar de Beakdan
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