基于日期和键的SQL数据检索

时间:2012-01-09 19:12:41

标签: sql oracle

我有一张包含以下数据的表格:

Emp no   Emp name   Emp Status  Emp reference   EmpCanc reference      date and time

1        Jhon       Active       20               20C               20120110 12:20:08
2        steve      inactive     21               20                20120110 12:25:08

根据以上数据,我想根据Emp referenceEmpCanc reference值检索记录。日期和时间也应介于20120110 15:30:0120120110 15:00:00之间。

我需要下面的输出,因为第一条记录的Emp reference和第二条记录的EmpCanc reference相等。

Emp NO Emp name  Emp Status   

1      Jhon      Active
2      steve     inactive

2 个答案:

答案 0 :(得分:1)

select empreference, EmpCanc 
  from Tablename 
 where dateandtime > to_date('01/10/2012 15:00:00', 'MM/DD/YYYY HH24:MI:SS')
   and dateandtime < to_date('01/10/2012 15:30:01', 'MM/DD/YYYY HH24:MI:SS')

答案 1 :(得分:0)

如果我理解正确,你可以进行自我加入,但不会列出第二个“非活动”行,如下所示:

SELECT Tablename."Emp no", Tablename."Emp Name", Tablename."Emp Status"
FROM Tablename INNER JOIN Tablename AS Tablename_1 ON Tablename."Emp reference" = Tablename_1."Emp Canc reference"
WHERE (((Tablename."date and time") Between TO_DATE('01/10/2012 15:00:00', 'MM/DD/YYYY HH24:MI:SS')  And TO_DATE('01/10/2012 15:30:01', 'MM/DD/YYYY HH24:MI:SS')))