Consulta limitada

14/09/2006 - 00:18 por jgds2005 | Informe spam
Tengo la siguiente consulta, supongamos que tengo una tabla como la siguiente

cliente producto
-
A1 CC0
A1 CC1
A1 CC3
A1 CC4
A2 CC0
A2 CC3
A3 CC1
A3 CC4
A3 CC5

Lo que quiero obtener es lo siguiente

cliente producto
-
A1 CC0
A1 CC1
A2 CC0
A2 CC3
A3 CC1
A3 CC4

Es decir, para cada cliente, los productos asociados pero solo los 2
primeros. Como una especie de Select Top, agrupado por cliente (pero
obviamente no existe función de agregación).
El motor es SQL 2000.

Gracias.
 

Leer las respuestas

#1 Manuel Etcheto
14/09/2006 - 00:38 | Informe spam
Probá:
SELECT cliente, min(producto) FROM dbo.Tabla
group by cliente
UNION ALL
SELECT T.cliente, min(T.producto) as producto FROM dbo.Tabla T
LEFT JOIN (SELECT cliente, min(producto) as producto FROM dbo.Tabla
group by cliente) TD
ON T.cliente = TD.cliente
WHERE TD.producto < T.producto
group by T.cliente
ORDER BY 1

Suerte
Manuel

"jgds2005" escribió en el mensaje
news:
Tengo la siguiente consulta, supongamos que tengo una tabla como la
siguiente

cliente producto
-
A1 CC0
A1 CC1
A1 CC3
A1 CC4
A2 CC0
A2 CC3
A3 CC1
A3 CC4
A3 CC5

Lo que quiero obtener es lo siguiente

cliente producto
-
A1 CC0
A1 CC1
A2 CC0
A2 CC3
A3 CC1
A3 CC4

Es decir, para cada cliente, los productos asociados pero solo los 2
primeros. Como una especie de Select Top, agrupado por cliente (pero
obviamente no existe función de agregación).
El motor es SQL 2000.

Gracias.

Preguntas similares