查找非唯一帐号的最新修订版

时间:2014-08-26 11:31:18

标签: sql

我一直试图从我们正在使用的业务系统中获取一些有用的信息。基本上有一个我想用来查询另一个表的表,但在我能够达到目标之前,我需要获得一个帐户的“最新修订版”。

桌子非常大&看起来设计很差,但我目前感兴趣的3个领域是Account,Revision&显示。帐户是帐号,修订版和显示是整数(存储为文本)。虽然结合了账户和账户,但是当时的任何一个都是独一无二的。修改是。 我想要做的是找到每个帐户的最高版本号,&然后使用关联的显示链接到我的其他表。我到目前为止的SQL是:

select account, revision, display
from histhead o
where revision = (
select max(revision) 
from histhead
where revision = o.revision)

不幸的是,因为有多个相同值的帐户会带来类似的内容:

account     revision    display
005598 001  201005      7843
005598 001  310358      17618
005598 002  201005      7844
005598 002  999999      17619
005598 003  201005      7845
005598 003  999999      17620
007475      200810      962
007475      200900      1252
007475      999999      16910
007641      201003      7039
007641      201311      25958

而我真正想要的只是:

account     revision    display
005598 001  310358      17618
005598 002  999999      17619
005598 003  999999      17620
007475      999999      16910
007641      201311      25958

有人能告诉我怎么做吗?

感谢

标记

1 个答案:

答案 0 :(得分:2)

您需要的查询需要与帐号相关联:

select account, revision, display
from histhead hh
where revision = (select max(hh2.revision) 
                  from histhead hh2
                  where hh2.account = h.account
                 )