2015-01-14 155 views
0

我有一個Informix DB V11。*。使用子查詢的Informix

它有一個這樣的表。 (這不是唯一的字段中給出)

DATE  |TIME  |NUMBER |STATUS |INFO 
2015-01-09 |10:00:00 |123456 |A  |Bla 
2015-01-10 |09:00:00 |123456 |300 |Blu 
2015-01-10 |07:00:00 |123456 |100 |Foo 
2015-01-09 |03:00:00 |123456 |A  |Bla 
2015-01-10 |11:00:00 |123456 |C  |Baa 
2015-01-10 |14:00:00 |123456 |Q  |Bla 

現在我必須要找到 記錄與最新的日期和時間狀態和信息。

這是沒有問題得到的 最新記錄的最大值(在這種情況下,與時間「14:00:00」的記錄)

的問題是,爲了獲得狀態和INFO字段,根據「14:00:00」記錄。 這樣我就可以找回這樣的結果:

STATUS |INFO 
Q  |Bla 

此查詢將被使用,子查詢,所以它要道上返回一行,也許串連。 使用作爲子查詢,我不能使用SKIP 0 FIRST 1.

任何想法?

回答

0

想必這是你想要什麼:

select first 1 * 
from table t 
order by date desc, time desc; 

的問題是,你不能用這個作爲一個子查詢除非這是在from條款。一個簡單的方法來做到這一點是一樣的東西:

select . .. 
from (select first 1 * 
     from table t 
     order by date desc, time desc 
    ) first1 cross join 
    . . . 
where . . . 

然後你就可以在查詢的其餘部分使用first1