DB2查询中的IF和ELSE条件以显示输出

问题描述 投票:0回答:1

是否有一种方法可以基于2种不同的条件显示表的输出?例如,我有一个表DEMO,它具有一个字段PERSONGROUP。如果PERSONGROUP = A或B,并且登录的用户已映射到这些人组,则有一些用户属于该PERSONGROUP,则该用户仅应显示DEMO表中的那些记录。如果已登录的用户不属于人员组A或B,则它应显示DEMO表中的所有记录。

DEMO表中的数据

 DEMOID    PERSONGROUP  USER
  100        A           TOM
  200        B           TOM
  300                    DAVID
  400                    PAUL

TOM登录时,他应该只会看到100和200条记录。当DAVID或PAUL登录时,他们应该看到所有4条记录。以下是我使用过的相同查询,但不适用于else部分。

select * from demo where (exists (select 1 from persongroupteam where persongroup = DEMO.persongroup and respparty = :user and persongroup in ('A','B'))
security db2
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.