Necesito la ayuda de ustedes para ver si puedo realizar esta consulta.
Lo que hago es definir grupos (tablas 'grupos' y 'gruposdetalle'), según la edad y el sexo, y conformarlos asignando el id del grupo a cada persona en la tabla 'personas'.
Las tablas son las siguientes:
Grupos
Id Nombre
1 Familia tipo 1
2 Familia numerosa
n
GruposDetalle
id_grupo EdadMinima EdadMaxima Cantidad Sexo
1 0 8 2 I (indiferente)
1 20 40 2 I
n
Personas
Id Nombre ... Edad Sexo id_grupo
1 Juan 35 M 1
2 María 28 F 1
n
Lleno un combo con los datos de los grupos de la siguiente manera:
Query = _
"SELECT g.id, g.nombre, GROUP_CONCAT(CONVERT(CONCAT_WS(';', gd.edadminima, gd.edadmaxima, gd.sexo), CHAR)
ORDER BY gd.edadminima, gd.edadmaxima SEPARATOR '|') AS detalle
FROM grupos AS g, gruposdetalle AS gd
WHERE g.id = gd.id_grupo
GROUP BY gd.id_grupo ORDER BY g.nombre, gd.edadminima"
Tabla.Open Query, BD, adOpenStatic, adLockOptimistic
Esto es para obtener el id y el nombre del grupo y luego los datos de edad mínima, edad máxima y sexo concatenados en la misma fila (mil disculpas a los ortodoxos

).
Ahora lo que necesito es eso mismo, es decir, que la consulta traiga los mismos datos, pero esta vez solo de los grupos en los que podría encajar, por ejemplo, un hombre (sexo M) de 20 años, o sea, todos aquellos grupos que tengan una edad mínima <= 20 Y una edad máxima >= 20 Y sexo M.
Ahí es donde empiezo a hacer lío.
No sé si fui claro... espero haberlo sido.
Desde ya, si lo que hice es una burrada y alguien quiere sugerirme una manera para hacerlo mejor, me vendría 10 puntos.
¡Muchas gracias!
Jerónimo
EDIT: Sorry doc, no entendi muy bien a pesar de haberte formateado el post (recomendable usar el codigo Visual Basic en el foro) porque lo lei muy rapido, si algun colega lo detecta bien, sino mas tarde que llegue a casa le doy una leida con paciencia. Suerte