1
私は以下のスクリプトを使用して、ユーザーがログアウトセッションにログインするのを探します。 2か月後に誰がログインしていないかを表示するように変更できますか?SQL with最後にログオンした人について報告したい
select A.USERNAME, P.NAME, max(L.CREATED) as LAST_LOGIN
from GIDB_G_LOGIN_SESSION_V L
inner join GIDB_GC_AGENT A
on A.ID = L.AGENTID
inner join GIDB_GC_PLACE P
on P.ID = L.PLACEID
where not exists
(select X.AGENT_ID
from GIDB_G_LOGIN_SESSION_V X
where X.CREATED >= add_months(trunc(sysdate),-2)
and X.AGENTID = L.AGENTID)
group by A.USERNAME, P.NAME
SQL Serverの:
select A.USERNAME, P.NAME, max(L.CREATED) as LAST_LOGIN
from GIDB_G_LOGIN_SESSION_V L
inner join GIDB_GC_AGENT A
on A.ID = L.AGENTID
inner join GIDB_GC_PLACE P
on P.ID = L.PLACEID
left join GIDB_G_LOGIN_SESSION_V X
on X.AGENTID = L.AGENTID
and X.CREATED >= dateadd(mm,-2,getdate())
where X.AGENTID is null
group by A.USERNAME, P.NAME
のMySQL:私はちょうど
select
A.USERNAME, P.NAME, L.LOGINSESSIONID, L.AGENTID, L.LOGINID, L.STATE,
L.CREATED, L.TERMINATED, (L.TERMINATED_TS - L.CREATED_TS) AS Duration
from
GIDB_G_LOGIN_SESSION_V L,
GIDB_GC_AGENT A,
GIDB_GC_PLACE P
WHERE
(L.CREATED >= to_date ('20/09/2016' , 'DD/MM/YYYY'))
and
(L.CREATED < to_date ('22/09/2016' , 'DD/MM/YYYY'))
AND
(L.AGENTID = A.ID)
AND
(L.PLACEID = P.ID)
--AND A.USERNAME IN ('13866')`
mysqlまたはsqlサーバ – Sankar
TO_DATEはOrです。 acle構文... OPは非常に混乱しています – JohnHC
さらに、あなたの結合構文は約10年前に置き換えられました。 ** EXPLICIT JOINS ** – JohnHC