
14/04/2010, 16:09
|
 | | | Fecha de Ingreso: diciembre-2001 Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 2 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
|