Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta con un campo en común (https://www.clubdelphi.com/foros/showthread.php?t=95409)

Joser 23-09-2021 23:45:04

Consulta con un campo en común
 
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:

Código SQL [-]
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.^\||/


La franja horaria es GMT +2. Ahora son las 08:07:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi