【发布时间】:2021-01-17 23:40:48
【问题描述】:
我想在整数数组中的整数条件上执行 FULL OUTER JOIN。
查询看起来像这样:
SELECT thing FROM table1 t1
FULL OUTER JOIN table2 t2
ON t1.id = ANY(t2.array_of_ids)
但我收到以下错误:
FULL JOIN 仅支持可合并或可散列连接的连接条件
有没有办法让这个条件可以合并连接?
【问题讨论】:
-
我给出的这段代码适用于 INNER JOIN。我基本上想将它与外部连接一起使用。换句话说,我希望 table1 和 table 2 中的每个元素都在选择中。如果 table1 中的元素在 table2 的 array_of_ids 列中有一个 ID,我希望它们是同一行(之后我使用聚合函数)
-
请通过编辑而不是 cmets 进行澄清。我同意说它像您所做的那样与内部连接一起使用会有所帮助。 PS 一个“基本上”或“基本上”或“换句话说”,它没有介绍或总结您也给出的清晰、准确和完整的描述,只是意味着“不清楚”。 PS我希望这是一个常见问题解答,您是否在网站上搜索过:stackoverflow.com? this 有帮助吗? (请参阅有关 ANY 的文档。)也许数组包含运算符?或者将数组转换为表格。
-
我看到两个选项:1)规范化你的数据模型,所以你不需要使用数组来加入。 2)使用两个查询:一个左连接,一个右连接并将它们与联合结合
标签: sql arrays postgresql outer-join