【发布时间】:2012-07-17 16:37:15
【问题描述】:
我需要为此 SQL 编写一个休眠条件:
select distinct USER_ID from USER_ROLE
where USER_TERM_DT is null
and ((ROLE_ID in (101,102)
and STATE_ID in ('MD')) or ROLE_ID = 150)
role_ids 将具有值组合 (101,102,150,151) 仅当 Role_Id 为 150 或 151 时,OR 部分才需要存在。
USER_ROLE 表具有 Role_id 和 state_id。只有角色 101 和 102 与 state_ids 相关联。
如果所有 4 个 role_id 值都存在,则 SQL 将是:
select distinct USER_ID from USER_ROLE
where USER_TERM_DT is null
and ((ROLE_ID in (101,102)
and STATE_ID in ('MD')) or ROLE_ID in (150,151))
请帮助解决这个问题。我正在阅读我需要一起使用连接和析取,但只是无法提出正确的代码。希望很清楚,我的 SQL 是正确的。
【问题讨论】:
-
你能展示你使用连词和析取词的尝试吗?
-
它看起来类似于下面的示例代码。你想让我把我要工作的实际代码放在上面吗?