Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/12/2008, 03:20
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Ayuda en esta consulta

Eres conciente que eso esta mal diseñado?

La estructura para eso seria


TablaSocios

Nº DE SOCIOS
Datos del socio

TablaPagos
FechaPago
Nº DE SOCIOS

Con esa estructura seria facil obtener lo que buscas...seria relativamente facil normalizar creando la tabla pagos y haciendo una seride de insert into con los datos de la que tienes.

Con la estructura que presentas y el asistente de consultas de access por supuesto que no lo conseguiras... entrando el sql a mano la estructura de la consulta resultante será "catedralicia" por llamarle de alguna manera....

Código:
Select * 
   FROM Tutabla
   WHERE TuTabla.nsocio 
               in (Select SubConsulta2.nsocio
                      FROM
                        (Select SubConsulta.nsocio, 
                            MAX(SubConsulta.Pago) as MaxPago
                            FROM
                              (Select t2t.nsocio,
                               t2t.1 as pago
                               from tutabla  as t2t 
                               where t2t.0 is null 
                               and t2t.1 is not null
                               UNION ALL
                               Select t2t.nsocio,
                               t2t.2 as pago
                               from tutabla as t2t 
                               where t2t.0 is null 
                               and t2t.2 is not null
                               UNION ALL
                               ....
                               UNION ALL
                               Select t2t.nsocio, 
                               t2t.11 as pago 
                               from tutabla as t2t 
                               where t2t.0 is null 
                               and t2t.11 is not null) as SubConsulta
                               group by SubConsulta.nsocio) as Subconsulta2
                               WHERE SubConsulta2.MaxPago='4/8');

Vaya pasada creo que funcionaria pero lo intentas tu....



Uy!!!! las fechas (mes año) son textos!!! No funcionará (4/8 > 11/8)

NORMALIZA LA TABLA, convierte los textos a fechas 4/8 => #01/04/2008#...

Quim

Última edición por quimfv; 04/12/2008 a las 03:30