Access - SELECT TOP 2

   
Vista:

SELECT TOP 2

Publicado por CARMEN (4 intervenciones) el 24/01/2008 16:49:29
Ya tengo los dos últimos registros pero es de la tabla, te comento tengo un campo id y otro campo nº cliente, lo que necesito es que de cada uno de los nº clientes aparezcan solamente 2 registros.

lo que tengo es :

SELECT TOP 2 [ESTADO ACTUAL CLIENTE].[Id], [ESTADO ACTUAL CLIENTE].[Nº CLIENTE] FROM [ESTADO ACTUAL CLIENTE];
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SELECT TOP 2

Publicado por Enrique (1299 intervenciones) el 24/01/2008 20:34:21
Hola Carmen:
La sentencia SQL que necesitas es algo más complicada de lo que tienes. Haz lo siguiente:

Crea una Consulta nueva y al entrar NO bajes ningún campo a la rejilla ni hagas nada, entra directamente en el Menú Ver y pulsa en Vista SQL y ahí pega esto que te adjunto, tal como está sin cambiar ni una coma, luego graba la Consulta con el nombre que quieras:

SELECT tbl.Id, tbl.[Nº Cliente] FROM [Estado Actual Cliente] AS tbl WHERE (((tbl.Id) In (Select Top 2 [Estado Actual Cliente].Id From [Estado Actual Cliente] Where [Estado Actual Cliente].[Nº Cliente] = tbl.[Nº Cliente] Order By [Estado Actual Cliente].Id DESC))) ORDER BY tbl.Id;

Si el nombre de la Tabla es Estado Actual Cliente y los nombres de los Campos son Id y Nº Cliente (de tipo numérico ambos), al ejecutar la Consulta te deben de aparecer solo los dos últimos registros de cada Nº Cliente. Fíjate que la Consulta crea una Tabla Temporal dentro de ella (no fuera) de nombre tbl y sobre esta hace el trabajo.

Suerte y saludos
Enrique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SELECT TOP 2

Publicado por carmen (4 intervenciones) el 25/01/2008 10:01:46
Gracias Enrique funciona bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar