関係のないように見える 2 つのグループを関連付けることができるマッピングの問題の解決策を考えています。したがって、一連の属性 A、エンティティ グループ 1、およびエンティティ グループ 2 があるとします。1 と A の間に多対多の関係を簡単に作成し、次のようなクエリを実行できます。
select * from 1
inner join a_1 on a_1.1_id = 1.id
inner join a on a.id = a_1.a_id
where a.attr = '123'
私は明らかに、2 に関連する A で同様のことを行うことができます。実際にクエリしようとしているのは、グループ 1 と 2 の要素が A で同じ属性を共有する A から 2 および A から 1 です。保存するのはアドレスです。アドレスを共有するグループ 1 とグループ 2 のすべての人を選択できるようにしたいと考えています。
助けてくれてありがとう!
編集:
テーブル構造:
t1 -----< t1_A >------ A ------< t2_A >------ t2
t1[id, other], t1_A[id, t1id, Aid], A[id, address], t2_A[id, t2id, Aid], t2[id, other]
そして、目標は、t2 の要素と同じアドレスを持つ t1 のすべての要素 (およびそのアドレスが何であるか) に対して返される行を取得することです。