簡體   English   中英

PSQL 讓其他孩子給定部分孩子

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM