Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 找出时间范围内其他表中是否存在值_Sql_Oracle - Fatal编程技术网

Sql 找出时间范围内其他表中是否存在值

Sql 找出时间范围内其他表中是否存在值,sql,oracle,Sql,Oracle,我试图评估一个用户的行为是否与另一个行为相关。这两个操作都用时间戳标记 我要评估的是,当用户在一个表中有一个条目时,例如a(两个表对于单个用户都有相同的ID),在a的输入时间和5分钟之前,是否在另一个表中有一个条目B。我设法为所有价值观抽出时间 SELECT TO_CHAR(playdatetime - 5/(24*60),'YYYY-MM-DD HH24:MI:SS') five_min_future, TO_CHAR(playdatetime,'YYYY-MM-DD HH24:M

我试图评估一个用户的行为是否与另一个行为相关。这两个操作都用时间戳标记

我要评估的是,当用户在一个表中有一个条目时,例如
a
(两个表对于单个用户都有相同的
ID
),在
a
的输入时间和5分钟之前,是否在另一个表中有一个条目
B
。我设法为所有价值观抽出时间

SELECT 
  TO_CHAR(playdatetime - 5/(24*60),'YYYY-MM-DD HH24:MI:SS') five_min_future, 
  TO_CHAR(playdatetime,'YYYY-MM-DD HH24:MI:SS') jetzt, 
  TO_CHAR(SEARCHDATE,'YYYY-MM-DD HH24:MI:SS') ses_time
我试着做这样的东西:

CASE 
  WHEN TO_CHAR(SEARCHDATE,'YYYY-MM-DD HH24:MI:SS') 
          BETWEEN TO_CHAR(playdatetime - 1/(24*60),'YYYY-MM-DD HH24:MI:SS') 
       AND 
       TO_CHAR(playdatetime,'YYYY-MM-DD HH24:MI:SS') 
  THEN 1 
  ELSE 0 
END timediff

但是,我怎样才能让它只检查一个用户,而不只是评估手头的行呢

以下查询显示了
a
b
中存在的记录,其中
b
中的记录出现在
a
中的记录之前5分钟内:

select a.user_id,
       a.event_dt,
       b.event_dt
from   a
join   b
on     b.user_id  = a.user_id
and    b.event_dt between (a.event_dt - (5 / (60 * 24))) and a.event_dt;

:对不起,有数据的表格将有助于理解和期望的输出。