SELECT * FROM表WHERE字段IN(数组) - H2数据库

时间:2017-04-03 00:21:48

标签: sql arrays select h2

我们正在尝试从表中选择所有行,其中特定字段的值包含在值数组中 - 例如

SELECT * FROM table WHERE field IN(array)

具体用途是查看该字段是否包含用户当前所属的提供的用户组数组中的特定用户组 - 例如

SELECT * FROM Gadgets WHERE Visibility IN("Everyone", "Registered User", "Site Owner", "Accountant")

在我们所有的搜索中都显示空白,所以会非常喜欢这个搜索。

2 个答案:

答案 0 :(得分:2)

通过更多挖掘,我们发现ARRAY_CONTAINS,这可能是对原始问题的更好答案 - 即使我们最终使用EXISTS并引用另一个表。

我们认为最好把它放在这里,以供其他人搜索这个主题。

答案 1 :(得分:0)

这样的事情可能有用。

SELECT * FROM Gadgets g WHERE exists (
select 1 from usergroup u where u.visibility = g.visibility
)