【发布时间】:2017-04-25 19:26:15
【问题描述】:
我有一个代表记录集的表格,例如
set_id | record_id
a | 1
a | 2
a | 3
b | 2
b | 4
b | 5
c | 6
c | 7
d | 9
d | 11
e | 10
f | 11
f | 12
我想产生这样的输出
output
{1, 2, 3, 4, 5}
{6, 7}
{9, 11, 12}
{10}
相交集被合并的地方(注意集 a 和集 b 已合并;d 和 f也被合并了)。
有没有用 SQL 而不是存储过程的好方法。我知道我正在寻找一种联合查找程序。
【问题讨论】:
-
可以获得多个交集吗? a + b + d?
-
@McNets,是的,这是必需的。
-
如果您有行 (d, 9)、(e,10) 和 (d,11) - 您会查找 {9,11} 和 {10} 还是 {9,10 ,11} ?..
-
@VaoTsun,我编辑了问题以详细说明这些案例
-
我的解决方案对你有用吗?..
标签: postgresql union-find