首页 文章

如何通过JDBC查询Oracle的交集

提问于
浏览
0

我需要从Java检查某个用户是否至少有一个组成员身份 . 在Oracle(顺便说一下12个)中,有一个很大的能够看起来像这样:

DocId  | Group
-----------------
    1  | Group-A
    1  | Group-E
    1  | Group-Z
    2  | Group-A
    3  | Group-B
    3  | Group-W

在Java中我有这些信息:

docId = 1
listOfUsersGroups = { "Group-G", "Group-A", "Group-Of-Something-Totally-Different" }

我见过像this这样的解决方案,但这不是我想要的方法 . 我想做这样的事情(我知道这是不正确的语法)...

SELECT * FROM PERMSTABLE WHERE DOCID = 1 AND ('Group-G', 'Group-A', 'Group-Of-Something-Totally-Different' ) HASATLEASTONE OF Group

...而不使用任何临时SQL INSERT . 结果应该是在执行此查询后我知道我的用户有匹配,因为他是 Group-A 的成员 .

1 回答

  • 1

    你可以这样做(使用IN条件):

    SELECT * FROM PERMSTABLE WHERE DocId = 1 AND Group IN 
                ('Group-G', 'Group-A', 'Group-Of-Something-Totally-Different')
    

相关问题