[英]PSQL get other children given a partial group of children
我有一個對象表,一個對象組表,以及一個鏈接兩者的表。 所以給定一些孩子組(這些將在 pam 上的查看框中通過 object position 進行搜索,但我在這里進行了簡化),我需要獲取對象所在組的所有可能對象。這很淺不需要更深入的比較。
objects_table
id | name
=========
1 | foo
2 | bar
3 | baz
4 | qux
groups_table
id | name
=========
1 | group_1
2 | group_2
3 | group_3
objects_groups_table
group_id | object_id
==============
1 | 1
1 | 2
2 | 2
2 | 4
3 | 1
3 | 3
這是我到目前為止一直在做的事情:
select o2.id
from objects o
join objects_groups_table ogt on o.id = ogt.object_id
join objects_groups_table ogt2 on ogt2.group_id= ogt.group_id
join objects o2 on ogt2.object_id = o.id
where o.name in ('bar', 'qux')
這確實成功地給了我 1、2 和 4。但是我一直認為有更好的方法可以做到這一點,但我似乎找不到它。
我提供的多重連接似乎是做這種事情的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.