PDA

Ver la Versión Completa : Consulta con un campo en común


Joser
23-09-2021, 23:45:04
Buenas tardes, tengo una aplicación en Delphi 10.3 con base de datos firebird, en ella tengo una tabla de personas y otra tabla llamada afinidad, donde almaceno datos de interés, y entre esos campos incorporo el ID de la persona y un numero entero en un campo llamado AGRUPADOR. entonces podemos decir que una persona (id) puede aparecer varias veces en esta tabla y contener diferentes agrupadores ; este numero (agrupador ) lo que hará es generar una relación entre personas, es decir, en la tabla afinidad las personas que compartan el mismo agrupador estarán relacionadas, entonces lo que necesito es poder seleccionar una persona y que el sistema sea capas de traerme los registros que coincidan con los diferentes agrupadores que posee esta persona, de esta manera sabré que una persona x tiene afinidad con la persona id= 100 - id=180 - id= 500 etc.

Espero haberme podido explicar y desde ya se agradece la disposición para ayudar.

cloayza
24-09-2021, 04:18:24
Estimado Joser, le sugiero lo siguiente:


select
afinidad.id,
afinidad.agrupador,
afinidad1.id
from afinidad afinidad1
inner join afinidad on
(afinidad1.agrupador = afinidad.agrupador)
where (afinidad.id = :ID)
And (afinidad.id <> afinidad1.id) -- Para que no repita el id buscado


Espero sea lo que necesita
Saludos cordiales

Joser
25-09-2021, 02:08:33
Muchísimas gracias, funciona perfecto.^\||/