【发布时间】:2019-03-24 16:43:53
【问题描述】:
我需要创建一个标志,让管理人员了解系统使用情况。我们有 3 个人们工作的主要系统,我们正试图将用户从其中一个转换出来。我的查询执行此操作,但我查询的表的性质包括重复项,因为 CREATE_USER_CD 字段不是不同的。它针对与订单关联的每个事件类型重复(每个 FROM_ID)。
我已尝试将此作为条件添加,以仅包含最后一个触发我正在寻找的事件 TYPE_ID 的用户:
and e.MISC_EVENT_ID in (select max(MISC_EVENT_ID)
from VASDW.MISC_EVENT
where date(CREATE_TS) between '2019-01-01 and current date
group by FROM_ID)
这是脚本的主旨:
select e.CREATE_TS, e.MISC_EVENT_ID, e.CREATE_USER_CD, e.FROM_ID,
(case when upper(e.CREATE_USER_CD) <> e.CREATE_USER_CD
and trim(e.CREATE_USER_CD) <> 'jboss'
and trim(e.CREATE_USER_CD) <> 'MTier'
and trim(e.CREATE_USER_CD) <> 'wlsedi'
and trim(e.CREATE_USER_CD) <> 'svrcflp' then 1 else 0 end)
as CLG_FG
from VASDW.MISC_EVENT e
where date(e.CREATE_TS) between '2019-01-01' and current date
当我添加上述条件时,我希望获得创建我正在寻找的事件类型的最后一个用户的 MISC_EVENT_ID。但是,我得到了重复。
CREATE_TS MISC_EVENT_ID CREATE_USER_CD FROM_ID CLG_FG
2019-03-20 14:00 1236064301 Sego, Jona 15293831 1
2019-03-21 10:48 1236092481 Barnes, Ja 15293831 1
除了将其写为 CTE 以提供帮助之外,还有什么想法吗?我无法编写 CTE,因为我将此自定义 SQL 用作更大的 Tableau Server 工作簿的一部分。我的计数是正确的,因为我在 Tableau 中使用 countd(),但是当您进行提取时会出现重复项。不久就会有人质疑这个问题,所以我试图完全避免它。
TIA。
【问题讨论】:
标签: sql db2 tableau-api