Мне нужно создать флаг, чтобы руководители могли понять, как используется система. У нас есть 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. Мои значения верны, потому что я использую countd () в Таблице, но дубликаты отображаются, когда вы делаете извлечение. Кто-то спросит это в скором времени, поэтому я стараюсь вообще этого избежать.
ТИА.