La Web del Programador: Comunidad de Programadores
 
    Pregunta:  62256 - AGRUPACION DE REGISTROS
Autor:  LUIS GUERRERO
TENGO EL SIGUIENTE PROBLEMA

SUPONGAMOS LA SIGUIENTE TABLA

NOMBRE CODIGO
LUIS 2080
PEPE 2031
JUAN 2080
LUIS 2073
PEPE 2038
JUAN 2021
............ .............

Quisiera realizar una consulta que me mostrara dos campos uno por el nombre y otro por todos los codigos a sociados a ese nombre, es decir

NOMBRE CG ASOCIADOS
LUIS 20802073
PEPE 20312038
JUAN 20802021

MUCHAS GRACIAS

  Respuesta:  Jose Ignacio Alvarez Rodriguez
Bueno es un pelin enrevesada y pero funcniona segun los parametros que has establecido en el enunciado:

SELECT x.nombre, x.Pcodigo1 & PCodigo2 AS CGAsociado
FROM [SELECT Tabla1.nombre as nombre, First(Tabla1_1.codigo) AS Pcodigo1, First(Tabla1.codigo) AS Pcodigo2
FROM Tabla1 INNER JOIN Tabla1 AS Tabla1_1 ON Tabla1.nombre = Tabla1_1.nombre
WHERE (((Tabla1.codigo)<>[tabla1_1].[codigo]) AND ((Tabla1_1.codigo)<>[tabla1].[codigo]))
GROUP BY Tabla1.nombre ]. AS x;

Saludos,
RKMN