Informix 使用子查询

Informix using a subquery

我有一个 Informix DB V11.*.

有一个这样的Table。 (没有给出唯一字段)

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

现在我必须找到 STATUS 和 INFO 使用最新的 DATE 和 TIME 记录。

获得最大值不是问题 最新记录(在本例中为时间为“14:00:00”的记录)

问题是,根据“14:00:00”记录获取STATUS和INFO字段。 这样我就可以检索这样的结果:

STATUS |INFO
Q      |Bla

这个查询将被用作子查询,所以它必须 return 一行,也许是连接的。 导致使用 as Subquery,我不能使用 SKIP 0 FIRST 1.

有什么想法吗?

想必这就是你想要的:

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

问题是您不能将其用作子查询除非它是 in from 子句。完成此操作的简单方法如下:

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

然后您可以在查询的其余部分使用 first1