2016-12-26 41 views
0
requestid Date 
2 12/22/2016 23:21 
3 12/22/2016 23:21 
1 12/22/2016 23:21 
37 12/22/2016 23:20 
156 12/22/2016 23:20 

请问有人请帮忙我想知道时间requestid 1和156之间的区别?Oracle 10g知道一个表中两行之间的时间差

我试过下面的查询,但没有得到正确的输出。

Select A.IFCOMPONENTUID,A.FPROCSTAGESTARTDT, (A.FPROCSTAGESTARTDT - B.FPROCSTAGESTARTDT) AS timedifference from XA_CASA.CFX_FILE_PROC_STAT A 
where INNER JOIN XA_CASA.CFX_FILE_PROC_STAT B On A.IFCOMPONENTUID = (B.IFCOMPONENTUID + 155) and 
order by FILERUNTIMEUID desc 

回答

0

类似的结构......

SELECT 
    A.IFCOMPONENTUID, 
    A.FPROCSTAGESTARTDT, 
    B.IFCOMPONENTUID CompareID 
    (A.FPROCSTAGESTARTDT - B.FPROCSTAGESTARTDT) TimeDiff 
FROM XA_CASA.CFX_FILE_PROC_STAT A 
INNER JOIN XA_CASA.CFX_FILE_PROC_STAT B 
    ON A.IFCOMPONENTUID = (B.IFCOMPONENTUID + 155) 
WHERE A.IFCOMPONENTUID = 1 

我宁愿在where子句中有明确标识有更多的灵活性,以改变ID:

SELECT 
    A.IFCOMPONENTUID, 
    A.FPROCSTAGESTARTDT, 
    B.IFCOMPONENTUID CompareID, 
    (A.FPROCSTAGESTARTDT - B.FPROCSTAGESTARTDT) TimeDiff 
FROM XA_CASA.CFX_FILE_PROC_STAT A 
INNER JOIN XA_CASA.CFX_FILE_PROC_STAT B 
    ON 1 = 1 
WHERE A.IFCOMPONENTUID = 1 
    AND B.IFCOMPONENTUID = 156